0

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

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 实例化博客对象呢?

4

1 回答 1

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';
}
于 2013-04-25T15:44:07.477 回答