<a href="#" class="btn btn-success order-btn" data-bind="attr:{'data-tiername':$data.tierName, 'data-identifier' : $parent.identifier}, click: $root.setPath.bind($data,$data.tierName, $parent.identifier)">Send values</a>
在視圖模型
var appViewModel = {
setPath: function (data, tier, identifier) {
alert(data);
alert(tier);
alert(identifier);
},
...........
...........
}
結果錨定標記是一些knockoutjs被顯示在警報消息的核心代碼(可能的定義observable(),dependentObservable()函數和[對象對象]在用JSON.stringify提醒時爲空)
爲什麼這樣可行?
data-bind="attr:{'data-tiername':$data.tierName, 'data-identifier' : $parent.identifier}
但不是這樣的:
click: $root.setPath.bind($data,$data.tierName, $parent.identifier)
注意tierName是可觀察到的(),標識()計算
我在哪裏可以找到更多關於bind()的?
我想做'alert(tier); alert(標識符);'在我的viewmodel函數中,我並不真的想要上下文(this)。所以我的函數變成''setPath(tier,identifier)'感謝您的幫助 – nthapa13 2012-02-24 08:23:53
如果KO不可用,KO會添加一個'bind'的實現,所以如果您引用KO,那麼您可以安全地使用'bind'。 – 2012-02-24 13:56:47
謝謝RP尼邁耶,很高興知道。 – 2012-02-24 14:17:04