我想实现一个菜单。菜单中的每个按钮都应在模型中设置菜单ID。我尝试这样做,但它不起作用:
<a class="btn btn-primary btn-large"
data-bind="click:selectUi('menu'),visible:sessionId()!=''">
Menu
</a>
而是在页面加载时调用selectUi。
现在我想到的唯一可能的解决方案是为每个按钮实现一个功能。这是正确的方法吗?
答案 0 :(得分:2)
将函数调用包装在函数中。
<a class="btn btn-primary btn-large"
data-bind="click:function () { selectUi('menu'); },visible:sessionId()!=''">
Menu
</a>
您还可以让selectUi
返回一个功能。
答案 1 :(得分:1)
使用Punches插件,这很简单:
<a class="btn btn-primary btn-large"
data-bind="on.click: selectUi('menu'), visible: sessionId()!=''">Menu</a>
如果没有插件,您可以使用匿名函数或bind
:
<a class="btn btn-primary btn-large"
data-bind="click: selectUi.bind($data, 'menu'), visible: sessionId()!=''">Menu</a>
答案 2 :(得分:0)
仅仅提到一个可能的解决方案,我在应用Roy J的答案之前已经使用过。
使用不带参数的功能。
e.g:
<a data-bind="click:selectUi_menu"> Menu </a>