在淘汰数据绑定attr绑定不起作用?

时间:2013-12-20 09:00:00

标签: knockout.js

我遇到问题当点击链接(标签).it包含数据绑定时,通过使用attr绑定我给出网址,同时使用点击绑定 我的问题是点击绑定正在工作,但没有通过attr绑定重定向网址。 我试试这个代码..

 viewModel.printbill = function () {
    var dta = ko.utils.arrayFilter(viewModel.Bills(), function (item) {
        return item.BillID == viewModel.BillID();
    });
    if (dta != null) {
        var data = {
            List: dta
        }
        localStorage.setItem('SelectedBill', JSON.stringify(data));
    }
};

<a target="_blank" title="" data-bind='attr: {href:"@Href("~/billing/BillPrint") "},click:printbill'> 点击此链接时 我有一个点击装订:printBill,用于从按钮clik中选择一个特定的id并映射到localstorage ...所有的事情都很顺利..但是......我无法将屏幕重定向到另一个标签。

2 个答案:

答案 0 :(得分:3)

如果你在链接上同时拥有click绑定和href,那么你需要从绑定中返回true来跟随href - 把它想象成能够取消点击(因此导航)。

 viewModel.printbill = function () {
    var dta = ko.utils.arrayFilter(viewModel.Bills(), function (item) {
        return item.BillID == viewModel.BillID();
    });
    if (dta != null) {
        var data = {
            List: dta
        }
        localStorage.setItem('SelectedBill', JSON.stringify(data));
    }
    return true; // <---- here
};

答案 1 :(得分:0)

而不是使用链接使用按钮重定向并单击