2017-06-18 13 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>

私が欲しい機能がある:私は入力テキストボックスに「JON」、ブラウザでの出力は、他のテキストのために、それはとして残るべき、そうでない場合は、12に変更する必要がある場合1.

現在のところ、「jon」と入力すると1が出力され、変更されません。コントローラーについて何が欠けていますか?

答えて

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

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

名前が変更され、変更機能が条件を処理する必要がある場合は、変更イベントを待機する必要があります。

関連する問題