javascript - 如何使用requirejs加载koLite?

标签 javascript knockout.js requirejs kolite

这来自 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/

相关文章:

javascript - 像 stackoverflow 中一样使用 .net mvc 3 动态预览表单帖子

javascript - 侧页 knockout 导致您无法将绑定(bind)多次应用于同一元素

javascript - 定义 requirejs 模块,包括文件夹中的所有文件

css - 用 knockout 检查我表中的所有复选框

javascript - 如何在 requirejs 模块内使用可变变量

javascript - 与 requirejs 连接并排除单个文件?

javascript - Redux 中 Action 创建者的触发方式不同,如何处理?

javascript - Ajax加载页面,刷新后不改变加载的内容

javascript - 为什么我得到 'undefined is not a function' ?

javascript - Knockout Js函数没有出现在页面上