我对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());
});
});