如何設置可觀察屬性而不對其進行任何訂閱射擊?設置knockout.js可觀察屬性而無需訂閱射擊
我有一個場景是頁面加載,ajax調用是爲了獲取一些數據,數據是循環播放,然後將當前選定的項目設置爲可觀察。我希望能夠在沒有任何訂閱的情況下設置這個observable,因爲第一次設置這個observable被認爲是它的初始狀態,並且訂閱不應該在初始狀態下執行。
function PlanViewModel() {
var self = this;
self.plans = ko.observableArray();
self.selectedItem = ko.observable();
self.getAllPlans = function() {
$.ajax({
url: "/Backoffice/Home/GetAllPlans",
type: "POST",
data: {},
context: this,
success: function (result) {
var planList = this.plans;
// clear the plan list
planList.removeAll();
$.each(result.plans, function() {
var planDetail = new PlanDetail(this, self);
if (this.IsSelected) {
self.selectedItem(planDetail); // how do I set this without the subscriptions firing?
}
planList.push(planDetail);
});
},
error: function (result) {
alert("An error occured getting plans.");
}
});
}
self.selectedItem.subscribe(function (newItem) {
newItem.repositoryUpdateSelectedPlan();
} .bind(self));
}
半天在類似的問題..我已經移動一行幾行下來: - ] thx – nilphilus