我想了解Knockout对页面上的元素进行更新时由于applyBinding所做的更改。当我运行页面T110出现在我的输入框,并如我所料,当我改变值显示在控制台消息Knockout - 当边界值发生变化时什么会触发元素?
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<script src="../lib/jquery-1.7.1.min.js"></script>
<script src="../lib/knockout-2.0.0.js"></script>
<script>
$(function() {
$("#itemNumber").change(function() {
console.log('itemNumber');
});
//create The view Model
var product1 = {
id: 1002,
itemNumber: "T110",
model: "Taylor 110",
salePrice: 699.75
};
ko.applyBindings(product1);
});
</script>
</head>
<body >
<input data-bind="value: itemNumber" type="text" id="itemNumber" />
</body>
</html>
:
考虑这个简单的例子。
但是请注意,当applyBindings因为我希望在页面加载过程中,将其称为不火......
所以它使用什么机制来修改输入要素的价值呢?而我真正想要的是一些方法来检测元素本身,因为这是一个控制,我想复制一个隐藏的领域的实际价值的正确的地方,但保持任何价值坚持下去...
感谢
感谢,但它不是做什么,我仍然期待。为什么更改不会随后触发:ko.applyBindings(product1);叫做?然而不知怎么的价值被显示了......那个特殊的代码似乎没有被调用。 – Tim 2012-02-14 21:30:54
我实际上已经通过了教程。但我有这种具体情况的情况下...我想我找到了一个更好的方式来做到这一点,但这确实意味着我的控制需要取决于淘汰赛,这可能不总是这种情况.. – Tim 2012-02-15 20:50:35