アラートを表示するためにBackbone.Notifierを使用しています。その中にカスタム バックボーン ビューを表示するにはどうすればよいですか? なにか提案を?
2 に答える
3
独自のカスタムビューを追加するのに適しているとは思わないでください。通知ビューのカスタマイズはCSSを介して行われます。
ボタンをカスタマイズするには、cssプロパティを使用できます。
buttons: [
{'data-role': 'myOk', text: 'Sure', 'class': 'default', css: {width: 120}},
{'data-role': 'myOk', text: 'Yes'}]
基本通知ウィンドウをカスタマイズするには、「notifier」CSSクラスを使用します。
これは、通知機能の「baseCls」プロパティを使用して変更できます。
残念ながら、バックボーンビューを通知機能に割り当てる方法はないと思いますが、必要な美学をカスタマイズするだけの場合は、CSSで十分です。
本当にハッキーなアプローチを採用したい場合は、標準のバックボーンビュー(Notifierクラスの一部であるBackbone.Notifier.NotificationView)であるNotificationViewを使用できます。これを実装にオーバーライドしてみることができますが、これは間違いなくハックなので、お勧めしません。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 に答える