简体   繁体   English

如何在Angular中更新视图/范围

[英]How can I update my view / scope in Angular

In the scope, the "ug" property depend on "user" and "age", when I update "user" or "age" why "ug" isn't update? 在范围内,“ ug”属性取决于“ user”和“ age”,当我更新“ user”或“ age”时,为什么不更新“ ug”? how can I update "ug" 如何更新“ ug”

HTML 的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 CODE 角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);
    }]);

Insted of ng-bind="ug" write ng-bind="fn(user, age)" . ng-bind="ug"插入ng-bind="fn(user, age)" Sure, also add: $scope.fn = fn; 当然,还要添加: $scope.fn = fn; inside controller's code: 内部控制器的代码:

HTML: HTML:

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

Javascript: Javascript:

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

You can call an ng-click event to update the scope like this. 您可以调用ng-click事件来更新范围,如下所示。

 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> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM