EmberJS将属性发送给另一个控制器

时间:2015-10-08 15:15:45

标签: ember.js

我试图传回一个属性,以便在另一条路线的视图中使用。例如,我的contact/user/new控制器正在执行以下操作:

var newContact = this.get('store').createRecord('contact', contactData);
  newContact.save().then((contact) => {
    this.transitionToRoute('contacts');
    this.set('successMessage', 'You have successfully created a new contact!');
  })
  .catch((response) => {
    response.errors.forEach((error) => {
      this.set('errorMessages', error.message);
    });
  });

除了successMessage行之外,一切都适合我。

this.set('successMessage', 'You have successfully created a new contact!');

我想在customers模板上访问它,以便我可以执行以下操作:

{{#if successMessage}}
  <div class="success-message">
    {{successMessage}}
  </div>
{{/if}}

如果有人有任何想法,那就太棒了。

1 个答案:

答案 0 :(得分:1)

您可以使用needs属性声明控制器之间的依赖关系。

所以你必须在你创建记录的控制器中添加它:

needs: 'customers'   // Assuming you have a CustomersController somewhere

您可以通过执行以下操作在所需的控制器中设置消息:

this.set('controllers.customers.successMessage', 'Fancy message');