我一直在玩RivetsJS,在我重新分配最初用作模型的对象之前,它可以完美地工作。例如,我一直在JSFiddle中尝试以下操作:
JavaScript:
var testObject = {
prop1: "ONE",
prop2: "TWO"
};
var testObject2 = {
prop1: "THREE",
prop2: "FOUR"
}
var testBind = rivets.bind($("#properties"), {
test: testObject
});
$("#randomize").click(function(e) {
testObject.prop1 = Math.random();
testObject.prop2 = Math.random();
});
$("#change").click(function(e) {
testObject = $.extend(true, {}, testObject2);
});
HTML:
<div id="properties">
<p>Prop1: { test.prop1 }</p>
<p>Prop2: { test.prop2 }</p>
</div>
<button id="randomize">Randomize</button>
<button id="change">Change</button>
首先,这很完美。该网页显示“一个”和“两个”,当我单击“随机化”时,它们显示随机化的值。但是,当我单击“更改”时,什么也没有发生,并且当我单击“随机化”时,元素也会停止更新。
我想在单击“更改”时尝试再次解除绑定和绑定,但这也不起作用。
Here's the JSFiddle
最佳答案
他们有一个专门的功能,您可以参考github讨论这个问题
https://github.com/mikeric/rivets/issues/131
你现在可以简单地写这个var otherTestObject = { test2: { prop1: "THREE", prop2: "FOUR" }};testBind.update(otherTestObject);
关于javascript - 重新分配模型后RivetsJS不更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21565615/