gpt4 book ai didi

javascript - 主干范围

转载 作者:行者123 更新时间:2023-11-30 10:29:19 25 4
gpt4 key购买 nike

我已经调用了一个 View (menuview) 并将其传递给一个 var (prova),但是从 View 调用它的结果是未定义的(console.log(this.model),在 menuview 中)。谁能帮我找出错误?

路由器

      home: function() {
new BarraScreamView();
new MenuView();
var self=this;


var amicizie= new Amicizie();
amicizie.fetch({
success: function(object) {
console.log(object);
var prova=object.where({invitante: Parse.User.current().id,conferma:0});//mettere
invitato
var num=prova.length;

new MenuView({model:prova});<<<---------

},
error: function(amici, error) {

}
});

菜单 View

       var MenuView = Backbone.View.extend({

el: $("#menu_container"),

events: {

},

template: Handlebars.compile(template),

initialize: function () {
console.log(this.model);<<<------------


this.render();
console.log("menuview");

},

最佳答案

原因很简单..

您似乎在 2 个地方创建了 MenuView() 的新实例

 home: function () {
new BarraScreamView();
new MenuView(); <----- First Instance here
var self = this;
var amicizie = new Amicizie();
amicizie.fetch({
success: function (object) {
new MenuView({ <----- Second Instance here
model: prova
});

View 按照它们加载的顺序进行初始化。当您使用

创建新 View 时

new MenuView(); 会命中 View 的初始化方法

 initialize: function () {
console.log(this.model);<<<------------
} ^ ^
| ------ Corresponds to the model passed in
But there is nothing passed here
corresponds to the view

所以它在第一种情况下记录未定义。

关于javascript - 主干范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17889143/

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