我遇到了很多例子,其中骨干视图将像var view1 = Backbone.View.extend({ })
但无法获得一个骨干视图直接返回。在下面的代码中,我可以呈现模型属性的默认值,并在灰尘模板中显示相同的内容,但当我做model.fetch()
时,在成功函数中,我能够在控制台中看到json响应,但无法设置将值提取到模型属性并呈现新值。是的,让我知道我在这里想念的是什么。任何帮助表示赞赏。无法设置骨干模型属性后model.fetch()调用
define(function (require) {
'use strict';
var $ = require('jquery');
var Backbone = require('backbone');
var g = require('global/dust-globals');
var template = require('text!/dust/table1.dust');
var SampleModel = Backbone.Model.extend({
initialize: function() {
},
defaults:{
SampleUpdate:'Test date',
SampleCount: 0
},
urlRoot: "/Sample"
});
var obj1 = new SampleModel();
return Backbone.View.extend({
events: {
// 'click .search-btn': 'searchBtnClick',
},
initialize: function(){
this.testfunc();
this.render();
this.model.on("change", this.render, this);
},
render: function() {
this.$el.html(g.renderTemplate('TabView', template, {}));
//template is compiled and rendered successfully
console.log('CHECK:'+obj1.get("lastUpdate"));
return this;
},
testfunc : function() {
obj1.fetch({
success: function (response) {
console.log(JSON.stringify(response));
obj1.set("SampleUpdate", response.get("sampleUpdate"));
obj1.set("SampleCount", response.get("sampleCount"));
console.log('CHECK1:'+obj1.get("SampleUpdate"));
}
});
}
});
});
我的JS代码调用上面的代码将如下。
var TabView = require('/SampleTab');
return Backbone.View.extend({
initialize: function() {
this.tabView = new TabView({el: '#sample-div', model:this.model, appView: this});
this.render();
},
render: function() {
this.tabView.$el.show();
this.tabView.render();
}
});
考虑改写你的问题,目前尚不清楚 – mikeapr4
@ mikeapr4我已经改写了这个问题..希望这有助于理解 –