Javascript 如何设置selectedItem并使用knockout绑定到它
我的名单如下:Javascript 如何设置selectedItem并使用knockout绑定到它,javascript,knockout.js,Javascript,Knockout.js,我的名单如下: <ul id="blogList" data-bind="foreach: Data"> <li> <span data-bind="text: Title"> </span> <a href="#" data-bind="click: $parent.viewEntry">View</a> </li> </ul> 将currentSe
<ul id="blogList" data-bind="foreach: Data">
<li>
<span data-bind="text: Title"> </span>
<a href="#" data-bind="click: $parent.viewEntry">View</a>
</li>
</ul>
将currentSelected设置为此似乎不起作用,因为当我尝试绑定到其他地方的currentSelected时,我没有得到任何结果:
<h2 data-bind="text: currentSelected.Title"></h2>
这是绑定到currentSelected的正确方法吗?列表工作正常,但设置currentSelected并绑定到它不起作用。首先,让我们看看您的
viewEntry
方法
self.viewEntry = function () {
currentSelected = this;
}
currentSelected
未定义,它应该是self.currentSelected
此外,由于这是一个可观察的变量,您不应该将其设置为带等号的var
,而是将其视为函数,因此它应该是self.currentSelected(this)
另一件事是在这个部分中绑定:
<h2 data-bind="text: currentSelected.Title"></h2>
您可以在这里找到一个工作示例:currentSelected=this;将仅将当前上下文分配给currentSelected,而不分配其他内容。无值如何将所选项目传递给viewEntry函数?所选项目是什么意思?是否选择了li项目?博客列表中显示了项目列表。我想将currentSelected设置为正在单击的:
您可以使用一点jquery来获取click函数中的数据。通过执行类似$(this).text()的操作,以及为什么在li中使用标记?
<h2 data-bind="text: currentSelected.Title"></h2>
<h2 data-bind="text: currentSelected().Title"></h2>