2013-04-25 53 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