2016-09-08 10 views
0

"user"または "age"を更新すると、スコープ内の "ug"プロパティは "user"と "age"に依存します?どのように私は "UG"ビュー/スコープを角度で更新するには

HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
<div ng-app="myApp" ng-controller="ctrl"> 
    user:<input ng-model="user"> 
    <br> 
    age:<input ng-model="age"> 
    <br> 
    user and age : <span style="color: red" ng-bind="user + '-and-' + age"></span> 
    <br> 
    ug:<span style="color:red;" ng-bind="ug"></span> 
    <br> 
    addAge:<span style="color:red;" ng-bind="addAge"></span> 
</div> 

アンギュラJSコードを更新することができます

angular.module('myApp', []) 
    .controller('ctrl', ['$scope', function($scope) { 
     var fn = function(user, age) { 
      //TODO 
      return user + '-fn-' + age; 
     } 
     $scope.user = 'taven'; 
     $scope.age = '30'; 
     $scope.ug = fn($scope.user, $scope.age); 
    }]); 
+0

おかげで、私はそれを削除しました。 – taven

答えて

0

ng-bind="ug"書き込みng-bind="fn(user, age)"のInsted。 確かに、また追加:$scope.fn = fn;をコントローラのコード内:

HTML:

ug:<span style="color:red;" ng-bind="fn(user, age)"></span> 

Javascriptを:

.controller('ctrl', ['$scope', function($scope){ 
    $scope.user = 'taven'; 
    $scope.age = '30'; 
    $scope.fn = function(user, age){ 
     //TODO 
     return user + '-fn-' + age; 
    } 
}]); 
+0

私は非常にありがとう、それは解決されました。 – taven

0

はあなたのような範囲を更新するために、NG-クリックイベントを呼び出すことができますこの。

angular.module('myApp', []) 
 
      .controller('ctrl', ['$scope', function($scope){ 
 
       var fn = function(user, age){ 
 
        //TODO 
 
        return user + '-fn-' + age; 
 
       } 
 
       $scope.user = 'taven'; 
 
       $scope.age = '30'; 
 
       $scope.updateScope = function(){ 
 
        $scope.ug = fn($scope.user, $scope.age); 
 
       } 
 
       
 
      }]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="ctrl"> 
 
    user:<input ng-model="user"> 
 
    <br> 
 
    age:<input ng-model="age"> 
 
    <br> 
 
    user and age : <span style="color: red" ng-bind="user + '-and-' + age"></span> 
 
    <br> 
 
    ug:<span style="color:red;" ng-bind="ug"></span> 
 
    <br> 
 
    addAge:<span style="color:red;" ng-bind="addAge"></span> 
 
    
 
    <button ng-click=updateScope()>Update scope</button 
 
</div>

+0

彼は手動で 'ug'値を更新しなければなりません、本当に**安心**ですか? –

+0

@ SlavaUtesinovあなたのフィードバックをありがとう、私は彼にこれを行うための別の方法を示した。 –

+0

ありがとうございました。一度入力を変更すると、なぜfnが2回呼び出されるのかという疑問があります。 – taven

関連する問題