相关疑难解决方法(0)

为什么ng-style函数应用了两次?

我有一个有角度的应用程序,如:

angular.module('ngStyleApp', [])

.controller('testCtrl', function($scope) {
   $scope.list = [1,2,3];
   $scope.getStyles = function(index) {
       console.log('getting styles for index ' + index);
       return {
           color: 'red'
       };
   };
});
Run Code Online (Sandbox Code Playgroud)

与相应的标记:

<div ng-app="ngStyleApp">
    <ul ng-controller="testCtrl">
        <li ng-repeat="value in list" ng-style="getStyles($index)">
            {{value}}
        </li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,可见输出是三个红色列表项.但该语句总共记录到控制台6次,这意味着视图呈现两次:

getting styles for index 0
getting styles for index 1
getting styles for index 2
getting styles for index 0
getting styles for index 1
getting styles for index 2
Run Code Online (Sandbox Code Playgroud)

为什么?

javascript angularjs

5
推荐指数
1
解决办法
1809
查看次数

什么被添加到$ scope.默认情况下,观察者在Angular?什么触发$摘要?

我读自创AngularJS和具有怎样的一个体面的理解$scopes,$watch和$digest工作.我了解当你添加自己的$watches并且打电话给自己时它是如何工作的$digests.但是,我对于默认情况下究竟发生了什么感到困惑.

  1. $scope.$$watchers默认添加什么?你穿的一切$scope?你指定的所有东西ng-model?都?别的什么?

  2. 什么时候确实$digests被默认触发?输入字段更改?输入字段用ng-models?其他?

data-binding angularjs angularjs-scope

0
推荐指数
1
解决办法
1955
查看次数