AngularJs ngRepeat在更改变量时未更新

马特
<div ng-repeat="item in items | limitTo:$parent.limit=($parent.limit||5)">
    ...
    <a ng-if="$last" ng-bind="$parent.limit===Infinity ? 'Read Less':'Read More'" ng-click="$parent.limit=$parent.limit===Infinity?5:Infinity"></a>
</div>

因此,初始限制仅为5个项目,单击链接可在“阅读更多” /“阅读较少”之间更改文本。但是ngRepeat不会接受更改并添加/删除项目。我想在更改$parent.limit变量时更新ngRepeat 如果可能的话,我想避免使用控制器。

Arjabbar

ng-repeat我认为指令为其子项在其下创建了另一个作用域。因此,您将不会与该<div>元素中引用的同一父对象交谈因此,在您的<a>标签中,您可能需要与父级的父级作用域对话。

因此,请尝试使用,$parent.$parent而不是只$parent在您的锚标记内ng-repeat

当然,这样做会使AngularJS众神叹为观止,所以我建议在您的控制器中创建一个控制器调用一个方法,该方法ng-click将传播到当前控制器的模板中。然后,您可以将所有这些逻辑移出模板。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章