我正在关注KnocoutJS互动教程,并且有一点含糊之处。 该教程位于: http://learn.knockoutjs.com/#/?tutorial=webmail 我在第一步,无法理解以下部分:
self.chosenFolderId = ko.observable();
这意味着selectedFolderId属性是可观察的吗?
<li data-bind="text: $data,
css: { selected: $data == $root.chosenFolderId() },
click: $root.goToFolder"></li>
我的意思是这个特定的表达方式:
click: $root.goToFolder
什么将这个表达式传递给goToFolder方法?似乎传递给了功能 从数组中选择字符串,但在第一个视图中它传递li对象。
我会非常感谢任何想法和建议。
祝你好运。
答案 0 :(得分:1)
点击绑定的knockout docs say会将数据上下文传递给点击处理函数goToFolder
。
在这种情况下,数据上下文是一个字符串,文件夹名称,因为点击绑定在foreach绑定中。
此约束click: $root.goToFolder
基本上是此简写:
click: function() { $root.goToFolder($data); }