gpt4 book ai didi

javascript - 如何使用requirejs加载koLite?

转载 作者:行者123 更新时间:2023-12-02 18:56:38 25 4
gpt4 key购买 nike

这来自 Knockout.dirtyFlag.js

;(function (ko) {
ko.DirtyFlag = function (objectToTrack, isInitiallyDirty, hashFunction) {

hashFunction = hashFunction || ko.toJSON;

var
_objectToTrack = objectToTrack,
_lastCleanState = ko.observable(hashFunction(_objectToTrack)),
_isInitiallyDirty = ko.observable(isInitiallyDirty),

result = function () {
var self = this;

self.isDirty = ko.computed(function () {
return _isInitiallyDirty() || hashFunction(_objectToTrack) !== _lastCleanState();
});

self.reset = function () {
_lastCleanState(hashFunction(_objectToTrack));
_isInitiallyDirty(false);
};

return self;
};

return result;
};
})(ko);

在我的模型中,我有一个像这样的定义设置:

define([
"lib/knockout",
"lib/knockout.dirtyFlag"
],
function(ko) {
...
self.dirtyFlag = new ko.DirtyFlag([
}

基本上我收到一条错误,指出 DirtyFlag 未定义。

我需要做什么?

最佳答案

嗯,看起来我已经成功了,所以我将发布我的发现:

在我的 requirejs 配置中我添加了以下内容:

shim: {
"lib/knockout/knockout.dirtyFlag": {
deps: [
"lib/knockout/knockout"
],
init: function (ko) {
var self = this;
ko.DirtyFlag = self.ko.DirtyFlag;
return ko;
}
}

我对 javascript 或 requirejs 不太熟悉,但 init 似乎将 dep 放在“ko”中,然后我可以在 ko 上创建一个 DirtyFlag。 self.ko.DirtyFlag是实际的knockout.dirtyFlag javascript。

关于javascript - 如何使用requirejs加载koLite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15276797/

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