我正在使用Backbone.Notifier来显示警报。如何在其中显示自定义主干视图?有什么建议吗?
问问题
557 次
2 回答
3
不要认为它适合添加您自己的自定义视图。通知视图的自定义是通过 CSS 实现的。
要自定义按钮,您可以使用 css 属性:
buttons: [
{'data-role': 'myOk', text: 'Sure', 'class': 'default', css: {width: 120}},
{'data-role': 'myOk', text: 'Yes'}]
要自定义基本通知窗口,请使用“notifier”CSS 类。
您可以使用通知程序上的“baseCls”属性更改此设置。
不幸的是,我认为没有办法将 Backbone 视图分配给通知程序,但如果它只是自定义您想要的美学,那么希望 CSS 就足够了。
如果您真的想采用 hacky 方法,您可以使用 NotificationView,它是标准的 Backbone 视图(Notifier 类的一部分 - Backbone.Notifier.NotificationView)。您可以尝试将其覆盖到您的实现中,但这绝对是一个 hack,所以不推荐它。值得一看 notifer.js 源代码。
于 2012-11-26T10:20:40.820 回答
0
为了在backbone.notifier中显示我的自定义视图,我在插件中添加了以下几行
在return语句之前的notify函数中
.......
if(options.custView){
msgInner.off('click'); //the turn off default behaviour which is to destroy view on click
options.custView.destroyNotifier = removeFn; //now in the custom view i just call this.destroyNotification to destroy the notification
msgView.$el.find('.notifier-message').html(options.custView.render().el); //pasting my view on notification to display
}
return msgView;
}
这就是我现在调用插件的方式
var notifier = new Backbone.Notifier({
el : 'body',
theme : 'clean'
});
notifier.notify({
custView : (new SomeView({
x : 'xyz'
})),
ms : false, //to aviod a timeout
destroy : true
})
于 2012-11-27T09:44:10.153 回答