这里是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'时不会改变。我对控制器缺少什么?
答案 0 :(得分:3)
<input ng-model="name" ng-change="onNameChange()">
$scope.onNameChange = function () {
if ($scope.name=="jon") {
$scope.age=12;
} else {
$scope.age=1;
}
}
每当更改名称并且更改功能应处理您的条件时,您需要收听更改事件。