gpt4 book ai didi

javascript - isdirty 功能的 knockout 绑定(bind)

转载 作者:行者123 更新时间:2023-11-28 00:58:13 25 4
gpt4 key购买 nike

我必须检查 View 是否有任何更改。这里我无法将表单与模型绑定(bind)。

我的查看页面的代码是:--

<section>
<ul class="breadcrumb" role="menu">
<li><i class="fa fa-home"></i> <a href="#">Home</a><span class="divider"></span></li>
<li class="active"><i class="fa fa-office"></i> <span>Company</span></li>
</ul>
<div class="row">
<div class="col-lg-12" data-bind="event:{change:dirty}">
<div data-bind="tabs:{widgetData:widgetData}"></div>
</div>
</div>
</section>

我编写的用于检查 isDirty 的代码部分是:--

var vm = {
activate: activate,
canDeactivate: canDeactivate,
dirty: function (root) {
var _initialized;
var result = ko.computed(function () {
if (!_initialized) {
ko.toJS(root);
_initialized = true;
return false;
}
return true;
});

return result;
},
};

function canDeactivate() {
if (vm.dirty == true) {
var app = require('durandal/app');
return app.showMessage('Are you sure you want to leave this page?', 'Navigate', ['Yes', 'No']);
} else {
return true;
}
}

最佳答案

判断 View 是否已更改的方法是使用事件绑定(bind)。我不能从您的代码中完全确定您要检查哪个元素,但您可以轻松地将更改绑定(bind)放在元素上,以便在元素更改时调用 dirty

data-bind="event: {change: dirty}

每次元素值发生变化时都会调用 dirty 函数

ko 事件绑定(bind)文档位于here

关于javascript - isdirty 功能的 knockout 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25976110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com