KnockoutJS单页面应用教程第一步含糊不清

时间:2014-05-12 14:55:02

标签: knockout.js

我正在关注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对象。

我会非常感谢任何想法和建议。

祝你好运。

1 个答案:

答案 0 :(得分:1)

点击绑定的knockout docs say会将数据上下文传递给点击处理函数goToFolder

在这种情况下,数据上下文是一个字符串,文件夹名称,因为点击绑定在foreach绑定中。

此约束click: $root.goToFolder基本上是此简写:

click: function() { $root.goToFolder($data); }