如何使用requirejs使用Knockout

时间:2014-02-11 17:27:59

标签: javascript jquery knockout.js requirejs

我在我的mvc应用程序中使用knockoutrequirejs。在淘汰赛中我实际上并没有创建任何视图模型,而是我从服务器端获取视图模型作为json对象并使用ko.mapping插件我在javascript中创建ko模型。

考虑我有 StudentModel 的情况,其中还有2个嵌套模型,例如学术地址

现在凭借我对AMD和requirejs的有限知识,我决定创建3个模块学生学术地址模块,我已定义它在3个独立的js文件中使用requirejs define 函数,类似于

Academic.js moduels

define(['knockout', 'dataservice'], function (ko, dataService) {

    return function (data) {
        var self = this;

        ko.mapping.fromJS(data, {}, self);

        ... //some extensions to model            

        self.save = function (self) {
            var academic = ko.mapping.toJSON(self);

            dataService.saveData(url, academic, function (response) {
                alert('saved');
            });
        };

        return self;
    };

});

Address.js moduels

define(['knockout', 'dataservice'], function (ko, dataService) {

    return function (data) {
        var self = this;

        ko.mapping.fromJS(data, {}, self);

        ... //some extensions to model            

        self.save = function (self) {
            var address = ko.mapping.toJSON(self);

            dataService.saveData(url, address, function (response) {
                alert('saved');
            });
        };

        return self;
    };

});

Student.js moduels

define(['knockout', 'dataservice', 'academic', 'address'], function (ko, dataService) {


});

这是我到目前为止所做的,但我不相信这是否是使用requirejs anf knockout的正确方法。如果它不是正确的方式(我感觉不是),那么请任何人解释我在上述例子的帮助下使用requirejs使用knockout的写方法?

0 个答案:

没有答案