AngularJS控制器没有返回值

时间:2017-06-18 06:20:09

标签: javascript 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>

我想要的功能是:如果我在文本框中输入'jon',浏览器中的输出应更改为12,否则,对于任何其他文本,它应保持为1。

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

1 个答案:

答案 0 :(得分:3)

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

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

每当更改名称并且更改功能应处理您的条件时,您需要收听更改事件。