具有离子cli的离子2/3定制组件

时间:2017-05-11 13:15:47

标签: angular ionic-framework ionic3 ionic-cli

如果使用离子cli生成组分

ionic g component foobar

然后尝试使用该选择器

<foobar></foobar>

有错误

  

错误:模板解析错误:'foobar'不是已知元素:

这对代码没有任何改变。

在生成的.ts文件中,有一个建议的链接以获取更多详细信息

/**
 * Generated class for the FoobarComponent component.
 *
 * See https://angular.io/docs/ts/latest/api/core/index/ComponentMetadata-class.html
 * for more info on Angular Components.
 */

但这只是导航到404页面。

任何人都知道这是否是一个已知问题,是否有解决方法?

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,我花了一段时间才弄明白。我使用CLI工具生成自定义组件,这似乎有一个小问题。在我的custom-component.module.ts中,生成器添加了

...
import { IonicPageModule } from 'ionic-angular';
...
imports: [
    IonicPageModule.forChild(CustomComponent),
  ],
...

将这些行更改为

...
import { IonicModule } from 'ionic-angular';
...
imports: [
    IonicModule,
  ],
...

修复了主要问题。要在页面的HTML中使用<custom-component>,您必须将custom-component.module导入到要使用它的页面模块中。例如,如果您想在主页上使用您的组件,请编辑home-page.module.ts

...
import { CustomComponentModule } from "../../components/custom-component/custom-component.module";
...
imports: [
    CustomComponentModule,
    IonicPageModule.forChild(JobsPage),
  ],
...

这似乎对我有用!