使用ember视图助手绑定控制器,或者使用条件插座使用

时间:2012-12-19 20:58:30

标签: ember.js

我试图在余烬视图中完成这样的事情:

{{#if loggedIn}}
   <p> I'm Logged In! </p>
{{else}}
   {{view App.LoginView contentBinding="App.UserInfo"}}
{{/if}}

这不是开箱即用的,因为LoginView的上下文应该是loginController,而*那个控制器的内容&#34;应该是App.UserInfo。

这个讨论有一些相关的注释,并建议出口:

Instantiate a controller class using the {{view}} helper?

Outlets为此提供了一个干净的解决方案 - 例如,我可以这样做:

{{#if loggedIn}}
   <p> I'm Logged In! </p>
{{else}}
   {{outlet login}}
{{/if}}

然后让路由器使用LoginView和一些上下文将此视图的控制器(称为homeController)连接到登录插座。

但是,使用outlet时,如果loggedIn属性发生变化,则不会重新连接/重新绘制插座,因此如果我登录然后再次注销,则会出现空白页。

是否有一种很好的方法可以使用视图助手绑定相应的控制器和控制器内容,或者如果loggedIn属性发生更改,以一种使其重新绘制的方式设置插座?

0 个答案:

没有答案