我创建了这个视图
{{#view Q.FlashView id="flash-view"}}
<div class="row">
<div class="small-11 small-centered columns">
<div id="message" {{bindAttr class=":alert-box :radius"}} data-alert>
{{view.content.message}}
<a href="#" class="close">×</a>
</div>
</div>
</div>
{{/view}}
有了这个定义
Q.FlashMessage = Ember.Object.extend({
type: "notice",
message: null,
isNotice: (function() {
return this.get("type") === "notice";
}).property("type").cacheable(),
isWarning: (function() {
return this.get("type") === "warning";
}).property("type").cacheable(),
isError: (function() {
return this.get("type") === "error";
}).property("type").cacheable(),
isSuccess: (function() {
return this.get("type") === "success";
}).property("type").cacheable()
});
Q.FlashView = Ember.View.extend({
contentBinding: "Q.FlashController.content",
classNameBindings: ["isNotice: secondary", "isWarning: alert", "isError: alert", "isSuccess: success"],
isNoticeBinding: "content.isNotice",
isWarningBinding: "content.isWarning",
isErrorBinding: "content.isError",
isSuccessBinding: "content.isSuccess",
我想要做的是让视图根据类型显示以下 css 类,如果通知例如有 class="alert-box radius notice"。
我不知道这是如何完成的,因为这个 classNameBindings 似乎不适用于静态内容。
我已经向我从中获取代码的原作者 coderberry.me/blog/2013/06/20/using-flash-messages-with-emberjs/提出了这个问题
你可以在那里看到原始代码。
提前致谢