我似乎在奮力綁定到對象上的點擊,我想不通爲什麼。我的HTML片段如下:淘汰賽:綁定到值上點擊
<div class="moodControlGroup">
<label class="control-label" for="nodeHeight">Height</label>
<div class="controls">
<input type="text" class="query" id="nodeHeight" data-bind="value: settings.nodes.height.value" />
<textarea class="queryExpanded funcText" data-bind="value: settings.nodes.height.funcValue"></textarea>
</div>
<input class="fx btn btn-primary" type="submit" value="fx" data-bind="click: function(item) { alert(JSON.stringify(item)) ; }, css: { selected: settings.nodes.height.isFunc }" />
</div>
我的問題在於我的提交按鈕在底部。該設置具有以下JSON結構 - 這是使用變成了淘汰賽對象ko.mapping:
nodes: {
width: { isFunc: false, value: 24, funcValue: "" },
height: { isFunc: true, value: 24, funcValue: "function(d) { return d.dy; }" },
}...
我想要做的就是點擊提交按鈕,並得到高度對象:
height: { isFunc: true, value: 24, funcValue: "function(d) { return d.dy; }" }
看來不過我只得到了空對象{},或者對象小幅上漲,其包含的節點屬性。我如何設法定位我的點擊事件以獲取正確的值?最終,我希望能夠切換它後面的isFunc值的狀態,以更新一些CSS ...但我不希望使用複選框控件。
任何人都可以建議我可能是做錯了什麼?
感謝
我們能看到你的.applyBindings打電話? – BrandonLWhite
@LatencyMachine:對不起,我應該包括這一點。我現在沒有代碼來處理,但是應用綁定需要一個ViewModel。 ViewModel有一個設置對象,然後又有節點。所以看起來像ViewModel:{Settings:{Nodes:{...}}}作爲JSON對象。 – Ian