2017-06-18 56 views
0

新的AngularJS在这里,刚开始一个新的应用程序,但似乎我失去了一些重要的问候控制器。AngularJS控制器不返回值

<!doctype html> 
 
<html lang="en"> 
 
    <head> 
 
    <meta charset="utf-8"> 
 
    <title>Arsenal Roster</title> 
 
    <link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.css" /> 
 
    <script src="angular.min.js"></script> 
 
</head> 
 
<body> 
 

 
<div ng-app="arsenalApp" ng-controller="ArsenalController"> 
 
    <input ng-model="name"> 
 
    <span>{{age}}</span> 
 
</div> 
 

 
<script> 
 

 
var arsenalApp=angular.module('arsenalApp',[]); 
 

 
arsenalApp.controller('ArsenalController',function($scope){ 
 

 
if($scope.name=="jon"){ 
 
$scope.age=12; 
 
}else{ 
 
    $scope.age=1; 
 
} 
 

 
}); 
 

 
</script> 
 

 
</body> 
 
</html>

我想要的功能是:如果我输入“乔恩”在文本框中,在浏览器的输出应更改为12,否则,任何其他文字,它应该保持1.

截至目前它只输出1,并且在输入'jon'时不会改变。我对控制器有什么想法?

回答

3
<input ng-model="name" ng-change="onNameChange()"> 

$scope.onNameChange = function() { 
if ($scope.name=="jon") { 
    $scope.age=12; 
} else { 
    $scope.age=1; 
} 
} 

只要名称被更改并且更改函数应该处理您的条件,您就需要监听更改事件。