teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

更に追記

2018/08/24 07:31

投稿

keisukeh
keisukeh

スコア657

answer CHANGED
@@ -37,4 +37,8 @@
37
37
  ディレクティブで実装する方法ですが、はっきり言ってオススメできませんのでちら見するくらいでお願いします。
38
38
  [https://stackblitz.com/edit/angular-k9n4a7](https://stackblitz.com/edit/angular-k9n4a7)
39
39
  ディレクティブとして動いてかつ、通常のクラスをしても使用できるように無理やり実装しています。
40
- 見て良くわからなくても全く参考にはならないものなので。
40
+ 見て良くわからなくても全く参考にはならないものなので。
41
+
42
+ 「更に追記」
43
+ プログラマのdirectiveの実装忘れを回避することが目的であれば
44
+ TSLintにカスタムルールを作成して、directiveが無ければコンパイルエラーを出すことは出来るかもしれません。

1

追記

2018/08/24 07:31

投稿

keisukeh
keisukeh

スコア657

answer CHANGED
@@ -21,4 +21,20 @@
21
21
  }
22
22
  ```
23
23
 
24
- 初期値の設定とかもう少しあると思うので処理はServiceに分けて書いたらスッキリすると思います。
24
+ 初期値の設定とかもう少しあると思うので処理はServiceに分けて書いたらスッキリすると思います。
25
+
26
+
27
+ 「追記」
28
+
29
+ コンポーネントを別の親クラスから継承させることは全く問題ありませんが
30
+ ライフサイクルメソッドのオーバーライドは予期せぬバグに遭遇する場合があるためアンチパターンになっています
31
+ [https://qiita.com/okunokentaro/items/90b60fae2622f7c1f1a2](https://qiita.com/okunokentaro/items/90b60fae2622f7c1f1a2)
32
+
33
+ どのみち
34
+ `super.ngOnInit()`
35
+ と書く必要があるため作業の軽減には繋がらないかもしれませんが。
36
+
37
+ ディレクティブで実装する方法ですが、はっきり言ってオススメできませんのでちら見するくらいでお願いします。
38
+ [https://stackblitz.com/edit/angular-k9n4a7](https://stackblitz.com/edit/angular-k9n4a7)
39
+ ディレクティブとして動いてかつ、通常のクラスをしても使用できるように無理やり実装しています。
40
+ 見て良くわからなくても全く参考にはならないものなので。