2015-03-13 74 views
0

Knockout.js我试图通过显示和隐藏我的页面部分来创建列表视图和详细视图。 我把这个放在一起,https://jsfiddle.net/jessebreuer/apn41oLc/ 当你添加一些记录后点击一个名字,它就隐藏了列表并显示了单个记录。我现在需要创建一个链接返回到列表视图。 我已经试过这样:清除可观察的内容以隐藏knockout.js中的内容

<p data-bind="with: chosenFriend"> 
    <span data-bind="text: name" /></span> 
    <span data-bind="click: chosenFriend('')">return to list</span> 
</p> 

但在单击事件的代码似乎保持如不方便:chosenFriend部分由隐藏,当我点击一个名字。

回答

1

问题是,你已经绑定了click绑定到的返回值chosenFriend('') - 即该代码将在绑定被解析时执行。您可以以您在视图中其他位置完成的相同方式绑定到视图模型上的某个功能,并使该功能可以调用chosenFriend(''),或者您可以直接进行:

<p data-bind="with: chosenFriend"> 
    <span data-bind="text: name" /></span> 
    <span data-bind="click: function() { $root.chosenFriend(''); }">return to list</span> 
</p>