【问题标题】:Content property is undefined in new Brunch-Ember application新的 Brunch-Ember 应用程序中未定义内容属性
【发布时间】:2012-12-03 23:20:43
【问题描述】:

我正在使用 Brunch 框架启动新的 Ember 应用程序:Brunch with Ember。我创建了一个简单的 ApplicationController 并将 content 属性设置为一个空对象:

var App = require('app');

App.ApplicationController = Em.ObjectController.extend({
    content: { }
});

但是当我在浏览器中加载应用程序时,App.ApplicationController.content 的 content 属性是未定义的。 App.ApplicationController 上也没有定义 set 和 pushObject 函数。有什么我想念的想法吗?

【问题讨论】:

    标签: javascript ember.js brunch


    【解决方案1】:

    你刚刚在那里定义了你的 Controller 类。您需要创建类的实例

    通常你会这样做:

    App.initialize();
    

    在这种情况下,Ember 将为您实例化控制器。你会在路径 App.router.applicationController 中找到你的控制器。

    但您也可以手动实例化控制器,例如:

    App.yourController = App.ApplicationController.create();
    

    【讨论】:

    • 谢谢,但 Ember 的早午餐确实在我的索引调用的 initialize.js 中执行了 App.initialize()。尝试手动实例化它(使用 .create 与 .extend)会导致应用程序完全失败,并出现“未捕获的错误:断言失败:您必须在应用程序上定义一个 ApplicationController”假设分支编译应用程序的顺序没有不喜欢它在那个时候被实例化,因为它稍后会这样做。
    • 好吧,我不知道。但是你的错误是在 App.ApplicationController 上测试你的东西。正如我所说,这只是你的课。如果 Brunch 没有为您提供 App.initialize(),您将在 App.router.applicationController 中找到控制器实例。该对象的内容不应该是未定义的,并且提到的方法 pushObject 应该可以工作。
    • 你能发布实际工作的代码吗?即,您是如何“通过路由器呼叫他们”的?
    • @Kevin:这个问题指的是 Ember 的过时版本。所以我认为答案不会有太大帮助。也许你发布一个自己的问题,我会看看它?当您发布时,请在此处通知我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    • 2021-11-25
    相关资源
    最近更新 更多