5

我正在尝试在 angular2/ionic2 中创建一个包含输入的自定义组件,这是代码:

import {Component} from "angular2/core";
import {ItemInput} from "ionic-framework/ionic";


@Component({
    directives: [ItemInput],
    selector: "add-input",
    template: `
    <ion-input clearInput>
      <input type="text" value="">
    </ion-input>
  `
})
export class AddInput {
    constructor() { }
}

问题是离子输入似乎在最终页面/视图中被忽略(没有应用样式,甚至无法单击它)。如果我将代码按原样移动到主视图,那么它可以工作。当向这个自定义组件添加一个按钮时

<button>ok</button> 

并导入 Button (并将其也添加到该组件的指令列表中)这是可行的。所以我不确定是否必须在 ItemInput 组件上做一些特殊的事情才能在自定义组件中使用,或者我是否只是遇到了一个错误。

使用离子 2.0 alpha49。

有什么线索吗?

4

3 回答 3

7

导入离子指令IONIC_DIRECTIVES

import {Component} from '@angular/core';
import {IONIC_DIRECTIVES} from 'ionic-angular';

@Component({
    selector: 'add-input',
    template: `
    <ion-input clearInput>
      <input type="text" value="">
    </ion-input>
    `,
    directives: [IONIC_DIRECTIVES]
})

export class AddInput {
  constructor() {}
}
于 2016-01-18T09:38:12.963 回答
1

希望得到答复,否则请查看在 Ionic2 中创建自定义组件

于 2016-01-27T10:32:03.513 回答
0

对于收到此错误的人:

../node_modules/ionic-angular/index"' has no exported member 'IONIC_DIRECTIVES'

Ionic 3中,指令声明已更改。组件不包含指令,模块将离子指令绑定到组件。在您的模块中使用它IonicPageModule.forChild(MyComponent)

import { IonicModule; IonicPageModule } from 'ionic-angular';
import { MyApp } from './app.component';
import { MyComponent } from '../directives/my-directive/my-directive';

@NgModule({
  imports: [
    IonicModule.forRoot(MyApp),
    IonicPageModule.forChild(MyComponent) // Here
  ],
  declarations: [MyApp, MyComponent]
})

在这里找到答案:https ://github.com/ionic-team/ionic/blob/master/src/module.ts

希望这会有所帮助,干杯!

于 2017-11-12T19:40:24.843 回答