Javascript 获得$“未定义项目”;关于应用绑定
我正在尝试使用knockout进行一个非常基本的绑定,但是在从jquery.tmpl访问Javascript 获得$“未定义项目”;关于应用绑定,javascript,jquery,knockout.js,jquery-templates,Javascript,Jquery,Knockout.js,Jquery Templates,我正在尝试使用knockout进行一个非常基本的绑定,但是在从jquery.tmpl访问$item变量时遇到了问题。应用绑定时,我不断得到“$item未定义” 我以前做过,所以我知道这是可以做到的,但我不明白为什么它在这种情况下不起作用。有趣的是,如果我删除模板选项:{parentItem:$item},那么一切都会按预期工作 我已经包括了以下文件 我的模板和绑定如下所示 #项目数目: 我使用以下方式进行绑定: //viewModel contains a contentItems ob
$item
变量时遇到了问题。应用绑定时,我不断得到“$item
未定义”
我以前做过,所以我知道这是可以做到的,但我不明白为什么它在这种情况下不起作用。有趣的是,如果我删除模板选项:{parentItem:$item}
,那么一切都会按预期工作
我已经包括了以下文件
我的模板和绑定如下所示
#项目数目:
我使用以下方式进行绑定:
//viewModel contains a contentItems observableArray
ko.applyBindings(viewModel, $('.filterResults')[0]);
好的,看来我能自己回答这个问题。问题似乎在于,我进行数据绑定并试图访问jquery.tmpl变量$item的部分实际上没有使用jquery.tmpl
<tr data-bind="template: { name: 'itemTemplate', foreach: contentItems,
templateOptions:{parentItem: $item}
}"> </tr>
它不在模板中,因此没有要访问的$item变量$项与jquery.tmpl关联,而不是与knockoutjs关联。我解决这个问题的方法是把我的视图模型放在那里
<tr data-bind="template: { name: 'itemTemplate', foreach: contentItems,
templateOptions:{parentItem: viewModel}
}"> </tr>
在实际的模板中(本例中为itemTemplate),我可以访问$item变量。好的,看起来我可以自己回答这个问题。问题似乎在于,我进行数据绑定并试图访问jquery.tmpl变量$item的部分实际上没有使用jquery.tmpl
<tr data-bind="template: { name: 'itemTemplate', foreach: contentItems,
templateOptions:{parentItem: $item}
}"> </tr>
它不在模板中,因此没有要访问的$item变量$项与jquery.tmpl关联,而不是与knockoutjs关联。我解决这个问题的方法是把我的视图模型放在那里
<tr data-bind="template: { name: 'itemTemplate', foreach: contentItems,
templateOptions:{parentItem: viewModel}
}"> </tr>
在实际的模板中(本例中为itemTemplate),我可以访问$item变量。您显然会遇到错误,因为没有定义为
$item
的对象。您到底想传递什么作为parentItem
?您可以使用templateright中的${}
访问当前对象,我知道$item对象没有定义。我不明白的是为什么在这种情况下它没有定义。我的理解是,它是一个应该由jquery.tmpl创建和管理的对象。注释6中的敲除文档中有一个示例,您显然会遇到错误,因为没有定义为$item
的对象。您到底想传递什么作为parentItem
?您可以使用templateright中的${}
访问当前对象,我知道$item对象没有定义。我不明白的是为什么在这种情况下它没有定义。我的理解是,它是一个应该由jquery.tmpl创建和管理的对象。注释6中的淘汰文档中有一个示例