使用requireJS实例化对象

时间:2013-04-25 15:19:35

标签: requirejs

我有一个像这样定义的模型对象

blog.js

define({title: '', url: '', summary: ''});

我正在使用blog模型来保存服务中的数据,我需要填充blogs数组。如何在另一个模块的循环中实例化新的blog

我尝试将blog作为一个需求对象传入,但它在循环内维护它的引用,一遍又一遍地保留同一个对象的数组。

othermodule.js

define(['blog'], function(blog) {
//... more code
  $.each(data, function(index, b) {
    var tmpBlog = blog;
    //...
    list.push(tmpBlog);
  });
});

我也尝试使用var blog = require('blog');产生相同的结果。

那么如何使用requirejs实例化博客对象?

1 个答案:

答案 0 :(得分:0)

好吧,我明白了。我错误地定义了blog模型。我需要返回function blog(){...},而不是这样:

define(function() {
  return function blog() {
    var self = this;
    this.title = '';
    //...
  };
});

,另一个模块使用它:

define(['models/blog'], function (model) {
  var tmpBlog = new model();
  tmpBlog.title = 'some title';
}