首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >KnockoutJS中变量$data的由来和用途是什么?

KnockoutJS中变量$data的由来和用途是什么?
EN

Stack Overflow用户
提问于 2011-10-21 00:06:11
回答 2查看 19.8K关注 0票数 68

KnockoutJS tutorials中,我偶然发现了下面的代码示例,其中包含一个无法解释的变量$data

视图(html):

代码语言:javascript
复制
<!-- Folders -->
<ul class="folders" data-bind="template: { name: 'folderTemplate', foreach: folders }"></ul>
<script type="text/html" id="folderTemplate">
    <li data-bind="css: { selected: $data == mailViewModel.selectedFolder() },
                   click: function() { mailViewModel.selectFolder($data) }">
        ${$data}
    </li>    
</script>

视图模型(JavaScript):

代码语言:javascript
复制
var viewModel = {
    // Data
    folders: ['Inbox', 'Archive', 'Sent', 'Spam'],
    selectedFolder: ko.observable('Inbox'),

    // Behaviours
    selectFolder: function (folder) {
        this.selectedFolder(folder);
    }    
};

window.mailViewModel = viewModel;
ko.applyBindings(viewModel);

本教程没有对美元符号的用途以及该$data的来源进行任何解释。变量$data在任何地方都没有定义,当我将$data的所有三个实例重命名为$foobar时,该示例不再起作用。

这到底是怎么回事?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-21 00:40:06

$data变量是一个内置变量,用于引用正在绑定的当前对象。在本例中,这是viewModel.folders数组中的一个元素。

票数 42
EN

Stack Overflow用户

发布于 2013-05-01 20:53:38

我让它工作了

代码语言:javascript
复制
.selected {
    color:red;
}

<ul class="folders" data-bind="template: { name: 'folderTemplate', foreach: folders }"></ul>
<script type="text/html" id="folderTemplate">
    <li data-bind="css: { selected: $data == mailViewModel.selectedFolder() },text:$data,
                   click: function() { mailViewModel.selectFolder($data) }">
    </li>    
</script>

var viewModel = {
    // Data
    folders: ['Inbox', 'Archive', 'Sent', 'Spam'],
    selectedFolder: ko.observable('Inbox'),

    // Behaviours
    selectFolder: function (folder) {
        this.selectedFolder(folder);
    }    
};

window.mailViewModel = viewModel;
ko.applyBindings(viewModel);

请看一下http://jsfiddle.net/bowen31337/48RDd/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7838853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档