私はコード内にいくつかのコンポーネントが消費するカスタム指示文を持っています。私はそれを私のapp.moduleに登録したので、私のテンプレートでそれを使うことができます。Angular2 RC5タイスクリプトで共有ディレクティブのメソッドを呼び出すにはどうすればよいですか?
しかし、私の問題は、このディレクティブのメソッドをコンポーネントコードから呼び出す方法がないことです。これは、インポートしてもそれをに登録する必要がありません。
など。ここで 私はそれが
import { Modal } from '../bootstrap';
@Component({
templateUrl: '.....html',
directives: [Modal]
})
export class MyComponent {
constructor(private modal: Modal) {
this.modal.show();
}
}
のように使用されているが、私は別のモジュールにこれらのコンポーネントを抽出し、共有モジュールにこのディレクティブを移動したとき、import ..
とdirectives: [...]
がなくなっていると私はprivate modal: Modal
を持つことができないディレクティブを共有していませんそのメソッドを呼び出すために注入したshow
。私がそれらを保持する場合、私はError: Type Modal is part of the declarations of 2 modules: ...
エラーメッセージを取得します。
達成しようとしていることを示すコードを投稿してください。私は共有ディレクティブのコードを呼び出す方法と 'ディレクティブ:[]'にそれらを追加する方法は関係ありません。 –
質問を編集してコードを追加してください。 –
コンポーネントやサービスのみを提供したり、注入したりすることはありません(子供の親に参照したい場合を除いて)。 –