我有以下static
,但由于某种原因,我在更新ng-repeat
ng-disabled
值
$root.currentUser.LinkedLogins
我确定在更新rootScope后发生了摘要周期,为什么没有禁用ng更新?
答案 0 :(得分:1)
使用angular指令,您不需要双花括号 - 这些主要用于指令之外的数据绑定。
试试这个:
<button ng-repeat="providerName in externalProviders track by $index"
ng-disabled="$root.currentUser.LinkedLogins.indexOf(providerName) > -1">
答案 1 :(得分:1)
不要在ng-disabled
表达式内插,因为它需要表达式。
只是做:
ng-disabled="$root.currentUser.LinkedLogins.indexOf(providerName) > -1"
{{expn}}
==&gt;表达式的值
在您的情况下,您将设置字符串值(true / false)为ng-disabled说true/false
,它将根据值设置按钮的初始状态。但是,为了跟踪后续更新,它将在范围上设置一个名为true/false
的属性监视(显然不存在)。
//Here attr[normalized] will be true or false in your case
scope.$watch(attr[normalized], function ngBooleanAttrWatchAction(value) {
attr.$set(attrName, !!value);
});
备注:我不确定您指的是$root
,如果更新了rootscope属性LinkedLogins
的属性currentUser
,您应该会在子范围内看到更新因为currentUser
由任何子范围(非隔离)原型继承:
ng-disabled="currentUser.LinkedLogins.indexOf(providerName) > -1"