【问题标题】:Instantiating objects with requireJS使用 requireJS 实例化对象
【发布时间】:2013-04-19 13:51:58
【问题描述】:

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

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

【问题讨论】:

    标签: requirejs


    【解决方案1】:

    好的,我想通了。我错误地定义了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';
    }
    

    【讨论】:

    • 是的,正要发布。 This question 提供了有关该方法的更多详细信息。
    猜你喜欢
    • 1970-01-01
    • 2011-04-10
    • 2014-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多