2016-09-08 5 views
0

В области «свойство ug» зависит от «пользователя» и «возраста», когда я обновляю «пользователь» или «возраст», почему «ug» не обновляется ? Как я могу обновить "UG"Как я могу обновить свой вид/область в Angular

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> 

ANGULAR 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

Insted из ng-bind="ug" записи ng-bind="fn(user, age)". Конечно, добавить: $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

Вы можете вызвать нг щелкните событие, чтобы обновить область как это.

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 будет вызываться дважды. – taven

Смежные вопросы