如何从视图主干传递回模型属性
How to pass back model attribute from a view Backbone
我有一个控制器:
var layout = new LayoutView();
App.holder1.show(layout);
var my_view = new myView({id: options})
layout.holder1.show();
console.log(my_view.model.get('name')) <---- I want this
我想get my_view.model.get('name')
但是,问题是我得到了undefined
.我已经console.log
了模型并且它填充正常,但是我认为这是因为当我尝试获取时它还没有完全加载。
这是我目前的这个观点:
var thisView = Backbone.Marionette.ItemView.extend({
initialize: function (options) {
this.model.fetch();
},
model: new myModel(),
template: testExampleTemplate,
});
return thisView;
只有在成功回调函数之后才会填充对象:
initialize: function (options) {
this.model.fetch({
success: function(model){
console.log(model.get('name'));
};
});
}
侦听事件。"更改"或"重置"将起作用。
viewInstance.model.on("change", function(){
viewInstance.model.get("nameOfAttribute");
// do something
});
http://backbonejs.org/#Events-catalog
有几种方法可以解决这个问题。首先,您可以侦听视图中模型中的变更事件,并在变更事件触发时执行所需的任何操作。如果你无论如何都需要做一些事情,你有几个选择:你可以为模型的parse方法编写一个实现,以触发你的视图侦听的事件并做一些事情作为响应,或者你可以在成功回调中为fetch方法本身做一些事情(作为fetch的选项传递)。如果我更好地了解哪种方法对您的情况有意义,我可以提供一个例子。
相关文章:
- 将输入值设置为ng模型属性[Angular]时出现问题
- 如何使用Undercore和Backbone在HTML中表示模型属性
- 主干中的模型属性未定义
- sails.js beforeCreate方法只接收required设置为true的模型属性
- 比较主干中的两个模型属性
- 更新淘汰视图模型属性时激发更改事件
- Eloquent模型属性为骆驼大小写[Laravel 5.2][Dingo API]
- 如何从单独的javascript文件访问模型属性?(MVC)
- 从Ember视图获取模型属性
- 根据三个模型属性对主干集合进行排序
- 根据模型属性对主干集合进行排序
- 默认情况下,一个模型属性等于 sail.js 模型中的另一个模型属性
- 在 Backbone 中侦听和修改模型属性的正确方法是什么.js
- 如何从视图主干传递回模型属性
- 主干 js - 更改模型属性
- AngularJs 将模型属性绑定到复选框
- 主干.js - 如何在模板中使用自定义模型属性
- 主干 + 下划线:找不到模板变量.+ 如何正确访问模型属性
- 从另一个具有属于关系的模型访问模型属性 Ember.js
- 通过模型属性 AngularJS 获取节点元素