如何从控制器中获取Ember中的自定义视图?

时间:2013-08-22 16:21:48

标签: ember.js

我在这里偶然发现了类似的问题 - 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,因此我需要一种方法来访问该实例,以便我可以显示不同的用户集。

1 个答案:

答案 0 :(得分:1)

正如官方docs中所述(关于耦合的注释):

  

在ember.js中,模板从控制器获取其属性,然后控制器装饰模型。这意味着模板知道控制器和控制器知道模型,但反之则不然。模型不知道哪个(如果有的话)控制器正在装饰它,控制器不知道哪个视图呈现其属性。

那就是说,你应该改为替换 App.carouselData的内容,因为它已被绑定,视图将会更新。

希望它有所帮助。