「Sidebar」、「listenTestClass」という 2 つのモデル名を作成しました。モデルに属性を作成したのと同様にcolor1
、モデルに属性Sidebar
を作成しました。c
listenTestClass
//listenTestClass model
var listenTestClass=Backbone.Model.extend(
{
test:function(value){
this.set({c:value});
}
}
);
var listenTestClassObject=new listenTestClass();
//sidebar model
var Sidebar = Backbone.Model.extend({
promptColor:function() {
var cssColor = prompt("Please enter a CSS color:");
this.set({color1: cssColor});
}
});
var sidebar = new Sidebar();
//if color1 attribte change,it triggers the following code
sidebar.on("change:color1", function(model, color2) {
$('#body1').css({background: color2})
});
//assigning white color to my body tag.
sidebar.set({color1:'white'});
//assigning some random value to "c" attribute
listenTestClassObject.test("hi");
オブジェクトsidebar
は属性「C」をリッスンします。つまり、属性「C」の値が変更されるたびに、の背景色を適用したいということですgreen
。このためにlistenTo
イベントを使用しましたが、機能していません。
sidebar.listenTo(listenTestClassObject,"change:c",function(model,c1){sidebar.set({color1:'green'})});
誰でも私を助けることができます。