Ember.js 从管线更新组件显示

Ember.js 从管线更新组件显示,ember.js,ember-cli,Ember.js,Ember Cli,为了了解有关使用服务和组件的更多信息,我正在尝试设置一个简单的flash消息样式服务。在我的路由中,我保存了一条记录,并从服务器接收到json通知或json错误 因为这是我最终希望在应用程序范围内使用的行为,所以我使用一个简单的服务注入到我的路由中来处理消息的显示。在一个路由中,我可以调用这个。获取“通知”。显示消息消息消息 目前,服务中的displayMessage函数只是提醒消息,因为我一直在研究如何创建服务可以更新的组件。服务如何与组件通信,以便我可以从组件模板发送消息并显示它 简介/索引

为了了解有关使用服务和组件的更多信息,我正在尝试设置一个简单的flash消息样式服务。在我的路由中,我保存了一条记录,并从服务器接收到json通知或json错误

因为这是我最终希望在应用程序范围内使用的行为,所以我使用一个简单的服务注入到我的路由中来处理消息的显示。在一个路由中,我可以调用这个。获取“通知”。显示消息消息消息

目前,服务中的displayMessage函数只是提醒消息,因为我一直在研究如何创建服务可以更新的组件。服务如何与组件通信,以便我可以从组件模板发送消息并显示它

简介/索引路线

服务

组成部分

组件模板


在访问服务方面,我喜欢他们使用文档的例子:

ShoppingCart服务被注入到需要访问购物车的组件中

访问ShoppingCart后,您应该能够:

从路由错误捕获为用户设置服务中的通知。 基于Notification service在组件hasError上设置某种hasNotification方法,该方法可以切换错误消息。 一旦您设置了通知,您的组件将看到它正在监视的属性已更改,并将显示/隐藏您的通知

user.save().then( (response) => {
  //display response.notice in the app-notification component template
}, (response) => {
  let errors = JSON.parse(response.errors);
  //display response.error in the app-notification component template
  this.get('notification').displayMessage(errors[0]);
}
import Ember from 'ember';

const { Service } = Ember;

export default Service.extend({

  displayMessage(msg) {
    alert("message ---> " + msg);
  }
});
???
<h2 class="alert">{{message}}</h2>
{{app-notification message=message}}