刚开始的淘汰赛,并需要实现换页的警告。以下是代码片段。如果页面上发生任何更改,我只需要弹出一个警告警告。淘汰赛脏标志码不工作
function parseViewModel() {
var viewModel = JSON.parse(getState());
viewModel.checking = ko.observable(false);
viewModel.Slider = new ko.observable(100 - viewModel.Slider);
viewModel.CausalsList = buildHierarchy(viewModel.Causals);
viewModel.Causals["-1"] = "Total Marketing Budget";
viewModel.GeographiesList = ko.observableArray(gl);
viewModel.Geographies["0"] = "All Geographies";
viewModel.ProductsList = ko.observableArray(pl);
viewModel.Products["0"] = "All Products";
.
.
.
return viewModel;
}
function bindModel() {
model = parseViewModel();
ko.dirtyFlag = function (root, isInitiallyDirty) {
var result = function() { },
_initialState = ko.observable(ko.toJSON(root)),
_isInitiallyDirty = ko.observable(isInitiallyDirty);
result.isDirty = ko.computed(function() {
return _isInitiallyDirty() || _initialState() !== ko.toJSON(root);
});
result.reset = function() {
_initialState(ko.toJSON(root));
_isInitiallyDirty(false);
};
return result;
};
model.dirtyFlag = new ko.dirtyFlag(model);
model.isDirty.subscribe(function() {
alert("Page change warning!");
});
ko.applyBindings(model, $('#const').get(0));
ko.applyBindings(model, $('#buttonDiv').get(0));
}
推荐Ryan Niemeyer的博客。不幸的是,它不再工作。有什么见解吗?
http://jsfiddle.net/arni05/M2BCb/2/ 试图在这个小提琴放在一起的东西虽然不是工作之一。你能在这里扔点灯吗? – kinjaldave
我不确定你在小提琴中使用的场景,但也许这一个会帮助你进一步。 –
嗨,瑞恩,我有一个表格,完成了一些数据绑定。现在在这个模型中,我必须设置一个脏标志,这个标志转换为另一个具有警告框呼叫的js方法。在小提琴中,我试图创建两个显示绑定的字段,然后在模型上设置脏标志。但是,它不起作用。 – kinjaldave