2013-04-25 52 views
0

实例化对象我有这样与requireJS

blog.js 

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

定义我使用的blog模型保存从一个服务数据的模型对象和我需要填充的blogs阵列。如何在另一个模块的循环中实例化新的blog

我试过将blog作为require对象传递,但它在循环内部维护它的引用,一次又一次地留下同一个对象的数组。

othermodule.js 

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

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

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

回答

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'; 
} 
+0

是正要张贴。 [这个问题](http://stackoverflow.com/questions/4869530/requirejs-how-to-define-modules-that-c​​ontain-a-single-class)给出了更多关于该方法的更多细节。 – explunit 2013-04-25 15:46:40