我在这里偶然发现了类似的问题 - How to get a view in an Ember.js Router app
但这对我没有帮助。假设在我的users.hbs模板上我有这个:
{{view App.CarouselView contentBinding="App.carouselData" elementId="new-users"}}
在我的UsersController上,我喜欢访问该视图。我怎么做?我有这样的访问权限:
module.exports = App.CarouselView = Ember.View.extend({...})
我想动态更改其contentBinding,因此我需要一种方法来访问该实例,以便我可以显示不同的用户集。
答案 0 :(得分:1)
正如官方docs中所述(关于耦合的注释):
在ember.js中,模板从控制器获取其属性,然后控制器装饰模型。这意味着模板知道控制器和控制器知道模型,但反之则不然。模型不知道哪个(如果有的话)控制器正在装饰它,控制器不知道哪个视图呈现其属性。
那就是说,你应该改为替换 App.carouselData
的内容,因为它已被绑定,视图将会更新。
希望它有所帮助。