我有一个"经过验证的"我希望从任何模板调用的应用程序路由上的方法。我认为我可以调用它,它会冒泡到应用程序路径,但我似乎无法使它工作。有人可以告诉我我做错了什么,或者更好的方向?提前感谢您的帮助。
路线
ApplicationRoute = Ember.Route.extend
actions:
authed: Em.computed ->
firebase = new Firebase "https://sizzling-fire-4457.firebaseio.com"
firebase.getAuth()
模板
if authed
h1: link-to 'contacts' | My Site
==outlet
答案 0 :(得分:1)
你误解了一些概念。操作是在存在例如click
或keydown
的操作时调用的函数。他们通常不会退货。您需要全局属性来指示用户是否已登录,它将返回一些值。属性存储在控制器内。您有一个默认创建的全局控制器,它的调用ApplicationController
。
App.ApplicationController = Ember.Controller.extend
authed: Em.computed ->
firebase = new Firebase "https://sizzling-fire-4457.firebaseio.com"
firebase.getAuth()
如果你需要这个属性让我们说在IndexController里面,我会做
App.IndexController = Ember.Controller.extend
needs: ['application']
authored: Ember.computed.alias 'controllers.application.authed'