gpt4 book ai didi

JavaScript应用架构: Referencing Object Properties

转载 作者:行者123 更新时间:2023-12-02 17:34:53 27 4
gpt4 key购买 nike

我有一个名为 App 的对象,它包含主干应用程序的所有相关部分。

问题:当我从应用程序中的其他对象调用应用程序中的对象时,它们是未定义的。

我认为发生这种情况是因为在定义其自身的 App 对象之前,它们在 App 中的对象内被称为 form 。

如何在 App 中的对象调用 App 中的其他对象之前定义 App?

我的 App 对象的示例,其中 App.templates.restaurant 对象在 Restaurant View 中调用并返回未定义:

var App = {
...

templates: {
restaurant: "#RestaurantModel__template",
menu: "#MenuItemsModel__template"
},

...

Views: {
Restaurant: Backbone.View.extend({
tagName: "li",
template: Handlebars.compile($(App.templates.restaurant).html()),
...
)},

...

}),

...
}

最佳答案

您可以通过将空对象定义为 App 来解决它,这样处理器就知道它是什么:

var App = {};

App.Templates = { ... }

App.Views = { ... }

第二个解决方案是将其分为数据部分和函数部分(例如通过创建 init 函数来创建 Views 子部分。)

var App = {
Templates : { ... },
init : function() {
App.Views = { ... }
}
}

造成问题的原因是处理器首先创建对象(并执行所有函数),然后才将其分配给变量。您可以尝试其他结构。

关于JavaScript应用架构: Referencing Object Properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22695795/

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