在 Ember 应用程序中为 extend/inherit 控制器创建基础 class
Create base class for controller to extend/inherit in Ember application
我正在尝试为我的控制器创建一个基础 Class,这样我就可以避免代码重复。
这里的问题是,每当我尝试使用它时,它都会向我抛出错误。
"Assertion Failed: You attempted to define a {{link-to "inventory"}}
but did not pass the parameters required for generating its dynamic segments. Could not find module controllers/base-inventory
imported from frontend/controllers/inventory
"
为了创建我的基本控制器,我正在使用 ember cli,这就是我所做的:
ember g controller base-inventory
然后
// base-inventory.js
const BaseInventory = Ember.Controller.extend({
//my code...
});
export default BaseInventory;
在我想使用这个基地的控制器中class我做了以下
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。
两个文件都在相同的文件夹结构中,因此导入路径应该类似于 ./base-inventory
import BaseInventory from './base-inventory';
我正在尝试为我的控制器创建一个基础 Class,这样我就可以避免代码重复。
这里的问题是,每当我尝试使用它时,它都会向我抛出错误。
"Assertion Failed: You attempted to define a
{{link-to "inventory"}}
but did not pass the parameters required for generating its dynamic segments. Could not find modulecontrollers/base-inventory
imported fromfrontend/controllers/inventory
"
为了创建我的基本控制器,我正在使用 ember cli,这就是我所做的:
ember g controller base-inventory
然后
// base-inventory.js
const BaseInventory = Ember.Controller.extend({
//my code...
});
export default BaseInventory;
在我想使用这个基地的控制器中class我做了以下
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。
两个文件都在相同的文件夹结构中,因此导入路径应该类似于 ./base-inventory
import BaseInventory from './base-inventory';