【发布时间】:2012-04-24 17:19:42
【问题描述】:
我正在使用 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 模式中的任何内容?)
谢谢。
【问题讨论】:
-
看起来你的
toString()方法返回了一个 observable。 -
该空间中的大多数方法都返回类似的结果 - 我如何解析 observable 的当前值?
标签: knockout.js