我似乎在奋力绑定到对象上的点击,我想不通为什么。我的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