在javascript / backbone中初始化Model元素

牢不可破

我从REST获取嵌套的JSON数据。现在,我想在一个变量中捕获该值。一切正常,但我不知道该如何初始化该变量。

所以这是我的Model的初始化方法。

initialize: function() {
        var self = this;
        if (!this.get('dropdownData')) {
                this.set({
                    dropdownData: []
                });
            }
        }
}

AJAX通话:

fetchDropdown: function(data) {
            var self = this;
            var d = $.Deferred();
            var dropdownRequest = $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                url: this.urlRoot,
                data: JSON.stringify(data)
            });
            dropdownRequest.done(function(data)
            {
                self.set({
                            dropdownData: data
                        });
                console.log("JSON SUCCESS!! YAY!!");
                d.resolve();

            });

现在dropdownData应该初始化为,dropdownData: {} or dropdownData: []否则我根本不需要初始化。

PS:逻辑明智的代码段正常工作。我只想知道dropdownDatainitialize函数中初始化的正确方法是什么BACKBONE MODEL

洛奇兰

我建议避免完全dropdownDatainitialize方法中初始化,而在此处使用model.defaults如果将以下内容添加到模型定义中:

defaults: function () {
  return {
    dropdownData: []
  };
},

...然后您可以删除initialize方法主体中的所有代码更改的结果是,实例化的模型将具有(在实例化时)提供的值,dropdownData 或者该模型将默认为指定的空数组。

请注意,使用defaultshere的功能版本很重要如果您要这样做,请执行以下操作:

defaults: {
  dropdownData: []
},

...然后,任何未提供的值的dropdownData实例化模型都将共享的值dropdownData每个实例将引用完全相同的数组。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

高级Javascript初始化

来自分类Dev

用数组,JavaScript初始化对象

来自分类Dev

如何从javaScript文件中删除脚本初始化

来自分类Dev

Javascript ViewModel初始化

来自分类Dev

如何从JavaScript初始化Redis中的位图

来自分类Dev

如何在JavaScript中初始化布尔数组

来自分类Dev

JavaScript中未初始化变量的范围

来自分类Dev

JavaScript:在函数中初始化全局变量

来自分类Dev

在JavaScript中初始化Angular指令

来自分类Dev

javascript对象的元素是否按特定顺序初始化?

来自分类Dev

当函数执行时(Javascript),函数声明中初始化的变量是否总是被重新初始化?

来自分类Dev

在JavaScript中初始化2D数组元素

来自分类Dev

javascript变量初始化显示NaN

来自分类Dev

JavaScript初始化功能

来自分类Dev

在Materializecss中如何初始化Javascript模式?

来自分类Dev

JavaScript中的解构和初始化

来自分类Dev

无法通过javascript中的初始化函数传递参数

来自分类Dev

如何从javaScript文件中删除脚本初始化

来自分类Dev

在Razor中初始化JavaScript数组

来自分类Dev

如何在Javascript中初始化类对象

来自分类Dev

JavaScript未在Drupal块中初始化

来自分类Dev

JavaScript:在函数中初始化全局变量

来自分类Dev

Polymer Shadow DOM中的JavaScript插件初始化

来自分类Dev

Fuel UX 3:通过Javascript初始化是否需要元素ID?

来自分类Dev

JavaScript中对象成员的创建和初始化顺序

来自分类Dev

JavaScript初始化功能

来自分类Dev

如何在javascript中初始化添加的类?

来自分类Dev

Javascript初始化函数

来自分类Dev

在 Javascript 中初始化数组的更智能方法