尝试在组件模板中执行此代码

// components/my-component.js
{{#if session.isAuthenticated}}
  <a {{action 'invalidateSession'}}>Sign out</a>
{{else}}
  {{#link-to 'signin'}}Sign in{{/link-to}}
{{/if}}


但是,单击“退出”按钮时出现此错误

Error: <...@component:my-component::ember381> had no action handler for: invalidateSession


如何使“ invalidateSession”可从组件使用?

最佳答案

您可以实施自己的invalidateSession操作:

actions: {
  invalidateSession: function() {
    this.get('session').invalidate();
  }
}


或简单地将操作从组件转发到路线:

{{my-component invalidateSession='invalidateSession'}}

关于javascript - 组件的“Ember简单例份验证” invalidateSession,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29061556/

10-12 04:21