【问题标题】:Create base class for controller to extend/inherit in Ember application为控制器创建基类以在 Ember 应用程序中扩展/继承
【发布时间】:2016-12-29 09:50:44
【问题描述】:

我正在尝试为我的控制器创建一个基类,这样可以避免代码重复。

这里的问题是,每当我尝试使用它时,它都会给我带来错误。

“断言失败:您试图定义 {{link-to "inventory"}},但未传递生成其动态段所需的参数。找不到从 frontend/controllers/inventory 导入的模块 controllers/base-inventory”

为了创建我的基本控制器,我使用了 ember cli,这就是我所做的:

ember g controller base-inventory

然后

// base-inventory.js
const BaseInventory = Ember.Controller.extend({
   //my code...
});
export default BaseInventory;

在我想使用这个基类的控制器中,我做了以下操作

import BaseInventory from 'controllers/base-inventory';
// also tried import { BaseInventory } from 'controllers/base-inventory';
// and  export default new BaseInventory({});
export default BaseInventory.extend({
    //more code here...
});

对我做错了什么有任何想法吗?

我不打算使用 mixins,因为起初它似乎不是最好的选择。我不太确定 mixins 提供的共享内容。我不认为这会是一个问题,因为我试图在控制器中继承,但正如我所说,我不确定它是如何工作的。

如果无法按照我尝试的方式进行操作,我将编写一个 mixin。

【问题讨论】:

    标签: javascript ember.js ember-cli


    【解决方案1】:

    两个文件在同一个文件夹结构中,所以导入路径应该像./base-inventory

    import BaseInventory from './base-inventory';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      • 1970-01-01
      • 2013-12-24
      • 2013-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多