KnockoutJS,如何为oberservable添加$符号

时间:2015-08-23 17:13:05

标签: javascript knockout.js

我对KnockoutJS很新,所以这可能不是最有建设性的问题,但我似乎无法自己解决这个问题。

如何在观察者面前添加$符号?我尝试了一个计算的observable,但由于我的数据是从服务器中提取的,所以无法使用它

$(document).ready(function () {     

    $(function () {

        function viewModel(cartData) {
            var self = this;
            self.cartItems = ko.observableArray([]);
            self.discountPercent = ko.observable();
            self.grandTotal = ko.observable();

            ////////////////////////////////////////////////////////////////////////////////////////////////////////

            self.removeCartItem = function (CartItem) {
                $.ajax({
                    url: '@Url.Action("RemoveFromCart", "ShoppingCart", null)',
                    type: 'POST',
                    data: { 'ID': CartItem.cartItemID },
                    success: function (data) {
                        self.cartItems.remove(CartItem);
                        self.getCartTotal();
                    }
                });

            };

            //////////////////////////////////////////////////////////////////////////////////////////////////////

            self.getCartTotal = function () {

                $.getJSON('@Url.Action("koGetTotal","ShoppingCart",null)', function (data) {
                    self.grandTotal(data.finalTotal);
                    console.log("getting total");
                });
            };

            //////////////////////////////////////////////////////////////////////////////////////////////////////
            self.addItemToCart = function (listingID, qty) {
                $.ajax({
                    url: '@Url.Action("phoneAdd","ShoppingCart",null)',
                    type: 'POST',
                    data: {
                        'listingID': listingID,
                        'requestedQty': qty
                    },
                    success: function (data) {
                        alert(data.status);
                    }
                });
            };






            self.loadCartData = function () {


                $.getJSON('@Url.Action("koShoppingCartItems","ShoppingCart",null)', function (data) {

                    $.each(data, function () {
                        self.discountPercent(data.length);
                        self.cartItems.push({
                            itemTitle: ko.observable(this.itemTitle),
                            cartItemID: ko.observable(this.cartItemID),
                            price: ko.observable(this.Price),
                            qty: ko.observable(this.Quantity),
                            displayImgPath: ko.observable(this.displayImgPath),
                            lineTotal: ko.observable(this.lineTotal)
                        });
                    });

                });

                self.getCartTotal();
            }

            self.loadCartData();

        }

        ko.applyBindings(new viewModel());

    });
});

0 个答案:

没有答案