敲除绑定第二次不起作用

本文关键字:不起作用 第二次 绑定 | 更新日期: 2023-09-27 17:59:06

我在MVC c#项目中使用了淘汰。我的网页上有购物车按钮,并使用下面的代码加载购物车作为模式对话框。这个代码第一次起作用,但当我再次点击购物卡时,它就不起作用了。我知道这个问题与ko.applyBindings(new CartViewModel())有关但我不知道如何解决,

欢迎任何解决方案和想法。

 $("#ShoppingCartButton").on("click", function () {
      $("#ShoppingCartDialog").load("/Order/ShoppingCart", function () {
            ko.applyBindings(new CartViewModel());
            $("#ShoppingCartDialog").modal('show');
        });
   });

敲除绑定第二次不起作用

您应该只为#ShoppingCartDialog、应用绑定

ko.applyBindings(new CartViewModel(), "ShoppingCartDialog");

您可以尝试先删除绑定,然后再次应用绑定。您可能还想将视图模型仅绑定到shoppingCartDialog:

$("#ShoppingCartButton").on("click", function () {
    //remove the binding
    ko.cleanNode($("#ShoppingCartDialog")[0]);
    $("#ShoppingCartDialog").load("/Order/ShoppingCart", function () {
        //bind a new viewModel, just to the shoppingcartdialog.
        ko.applyBindings(new CartViewModel(),$("#ShoppingCartDialog")[0]);
        $("#ShoppingCartDialog").modal('show');
    });
});