我正在使用 Knockout.js,试图弄清楚如何解析作为其点击处理程序的一部分传递的数据对象的属性。到目前为止,我只能找到/查看与对象关联的函数的文本定义。
例如,在使用 Chrome 调查点击绑定传递的数据对象时,我只能找到:
> data.CityId.toString
function toString() { [native code] }
> data.CityId.toString()
"function b(){if(0<arguments.length){if(!b.equalityComparer||!b.equalityComparer(d,arguments[0]))b.H(),d=arguments[0],b.G();return this}r.T.Ha(b);return d}"
该程序:
该程序列出了几个城市,单击元素时,我想调用一个函数来更新数据 - 从视图模型实例中传入一个参数。
虽然我使用的是映射插件,但视图模型实际上是:
- 城市编号
- 城市名
调用该方法的 HTML 模板:
<div data-bind="click: function(data, event) { UpdateForCity(data, event); }">
<span data-bind="text: CityName"></span>
</div>
要调用的函数:
function UpdateForCity(data, event) {
alert('CityId: ' + data.CityId); // This is the part where I'd like to resolve the value
}
该函数接收该值,但到目前为止,所有试图找到解决该属性的方法的尝试都没有成功。如何解析上面示例中的 CityId 属性?(我是否误解了 MVVM/knockout 模式中的任何内容?)
谢谢。