为控制器创建基类以在Ember应用程序中扩展/继承

tup*_*pan 2 javascript ember.js ember-cli

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

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

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

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

ember g controller base-inventory
Run Code Online (Sandbox Code Playgroud)

然后

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

在我想使用该基类的控制器中,执行了以下操作

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...
});
Run Code Online (Sandbox Code Playgroud)

有什么想法我做错了吗?

我不打算使用mixins,因为一开始它似乎并不是最好的选择。我不太确定mixin提供的共享内容。我认为这不是问题,因为我正在尝试在控制器中进行继承,但是正如我所说的,我不确定它的真正工作原理。

如果无法按照我想的方式做,我将编写一个mixin。

Emb*_*eak 5

这两个文件位于同一文件夹结构中,因此导入路径应类似于 ./base-inventory

import BaseInventory from './base-inventory';
Run Code Online (Sandbox Code Playgroud)