Data binding 想在knockoutJs中的一个绑定中使用双击功能吗

Data binding 想在knockoutJs中的一个绑定中使用双击功能吗,data-binding,knockout.js,durandal,Data Binding,Knockout.js,Durandal,大家好,我是knockoutJs新手,我想在一个绑定中使用两次单击功能。我尝试了下面的方法,但只有第一部分可以工作。如果我使用attr:{href:'#/User/Add/'+User\u id}单击后,attr将工作,选择用户不工作。请在这方面帮助我。我正在使用Durandal作为路由器 <a data-bind="click: $root.SelectedUser,attr: { href: '#/User/Add/' + user_id }"></a> 您想这样

大家好,我是knockoutJs新手,我想在一个绑定中使用两次单击功能。我尝试了下面的方法,但只有第一部分可以工作。如果我使用attr:{href:'#/User/Add/'+User\u id}单击后,attr将工作,选择用户不工作。请在这方面帮助我。我正在使用Durandal作为路由器

 <a data-bind="click: $root.SelectedUser,attr: { href: '#/User/Add/' + user_id }"></a>

您想这样做的原因是什么

另一种方法是在单击事件中调用durandal路由

var clickEvent = function(data, e) {
    doSelectedUserStuff();
    callDurandalRoute('#/User/Add/' + user_id);
}

我建议在viewmodel中创建一个函数,该函数选择用户,然后重定向到所需位置:

define(['plugins/router'], function(router){
var userIds = ['1', '2', '3'] //this is just an example. use your own ids here
var SelectedUser = ko.observable('');

var buttonClick = function(user){
    SelectedUser(user);
    router.navigate('#/User/Add/' + user);
}

return {
    userIds: userIds,
    buttonClick: buttonClick
}}
在html中:

<ul data-bind="foreach: userIds">
<li>
    <a data-bind="click: $parent.buttonClick"></a>
</li>