gpt4 book ai didi

javascript - Ember.js:访问渲染模板中的 ApplicationController 方法

转载 作者:行者123 更新时间:2023-12-03 12:16:06 26 4
gpt4 key购买 nike

我正在使用 Ember.js,并且在渲染的模板部分中从我的 ApplicationController 访问方法时遇到问题。

在我的布局中,我有以下内容

<div>
{{ render common/navigation }}
{{ outlet }}
</div>

在我的应用程序 Controller 中:

App.ApplicationController = Ember.Controller.extend({
isAuthenticated: function(){
return true
}.property()
});

以及公共(public)/导航 hbs 模板内部:

{{#if isAuthenticated}}
<a href="#" {{action 'logout'}}>Logout</a>
{{/if}}

问题是 isAuthenticated 永远不会返回 true

我的假设(我认为这可能是问题所在)是 ApplicationController 中的方法可用于所有模板 - 这是错误的吗?

如何从通用/导航模板访问 isAuthenticated?

谢谢!

最佳答案

解决了我自己的问题,我通过使用 {{render}} 失去了范围

在我的布局中,我从 {{render}} 切换到 {{partial}}

<div>
{{partial common/navigation}}
{{output}}
</div>

一切都很好。

来自 ember.js 文档 - “{{partial}} 不会更改上下文或范围。它只是将给定模板放入当前范围内。” http://emberjs.com/guides/templates/rendering-with-helpers/

关于javascript - Ember.js:访问渲染模板中的 ApplicationController 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24701711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com