将值从html传递到AngularJS控制器
Passing value from html to AngularJS controller
我使用的是Angular Meteor,我有一个控制器订阅了一个返回两个游标的发布复合发布。我想做的是在一个游标上重复,并根据第一个游标的值从第二个游标中获取值。像这样:
{{getName(a.id)}}
其中a是第一个光标的一个对象,在控制器中,我有$scope.getName(id)
函数,它从第二个光标返回名称,如下所示:
name = second.find({ID: id}).fetch()[0].name
它起了作用,但问题是getName
函数被击中了不必要的次数。基于第一个游标的ng-repeat
对象,是否有更好的方法从第二个游标获取数据?嵌套的ng-repeat
是这样做的吗?我该怎么做?
谢谢。
您似乎专注于ng-repeat
的性能。很高兴你有这种感觉!据我所知,ng-repeat
一直是许多第三方库和讨论的优化焦点。
在您的情况下,我的第一次尝试是只绑定ng-repeat
中的值一次。您可以使用表达式上的::
语法来执行此操作。
例如,这将调用表达式一次。
<ul ng-repeat="a in items">
<li>{{::getName(a.id)}}</li>
</ul>
在你的问题的最后,你提到了一个嵌套的重复,但你的问题只提到了它的一次使用。我遗漏了什么吗?
免责声明:我从未使用过Angular Meteor(甚至是独立的Meteor),所以很可能有更好的方法来解决你的问题。
通过:https://docs.angularjs.org/guide/expression
相关文章:
- 将值从html传递到AngularJS控制器
- angularjs-控制器在表单提交时未调用
- Angularjs控制器本地错误
- AngularJS:控制器中的函数被模板多次调用
- 将AngularJS控制器拆分为多个文件
- AngularJS控制器范围
- AngularJS控制器不工作,为什么?(简单的控制器示例)
- AngularJS控制器在注入工厂时抛出错误
- 如何使用onclick事件调用AngularJS控制器
- angularjs控制器未启动
- 设置AngularJS控制器属性不能是使用Coffeescript的最后一行
- 如何使AngularJS控制器依赖于通过ajax加载在rootScope上的值
- 通过因果报应测试管理angularjs控制器初始化
- AngularJs 控制器中的实时时钟功能
- Angularjs:控制器的代码组织
- 简单的AngularJS控制器不起作用
- 如何从 angularjs 控制器访问$resource
- 在 html5 视频结束时调用 AngularJS 控制器函数
- AngularJS控制器内部的功能
- AngularJS控制器中基于值的重定向