gpt4 book ai didi

javascript - BackboneJS 访问模型属性时出现问题

转载 作者:行者123 更新时间:2023-11-28 01:05:58 24 4
gpt4 key购买 nike

我有一个 BackboneJS View ,编码如下;

var MyView = BaseView.extend({
initialize: function() {
this.myModel = new myModel();
this.myModel.url = "api/myRESTApi/";
this.myModel.fetch();
},
render: function () {
var self = this;

var myPanel = new Panel({
title : "My Custom Panel component",
id : "my-panel",
});

myPanel.on("onRender", function() {
self.myModel.get("myModelAttr").toJSON()
}
}

});

现在问题出在 myPanel.on("onRender") 内部

我无法获取

self.myModel.get("myModelAttr")

在调试时,我看到 self.myModel 的属性为 null。

即使我从 REST 资源正确获取响应,并且还在模型中正确解析和设置属性,也会发生这种情况。

我在这里做错了什么吗?

最佳答案

可能的情况是,模型尚未由提取填充,因为它是异步运行的,请尝试使用成功语句包装提取,然后进行渲染。

var self = this;

this.myModel.fetch({
success:function () {
// do something here like self.render()
}
});

这样模型就更新了!或者您可以在初始化方法中监听属性更改事件,如下所示:

this.listenTo(this.myModel, 'change', this.render);

根据您尝试从模型获取的数据,您不需要在语句末尾使用 toJSON() ,除非渲染到模板。

关于javascript - BackboneJS 访问模型属性时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25078182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com