質問編集履歴

3

angularのバージョン追記

2018/12/04 13:45

投稿

basimitsu
basimitsu

スコア12

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- #AngularのReactiveFormsを使用しています。
1
+ #Angular5のReactiveFormsを使用しています。
2
2
 
3
3
  AbstractControl.setValueメソッドを使用して値をセットしているのですが、chengeイベントが発火せずに困っています。
4
4
 

2

不要なインデント削除

2018/12/04 13:45

投稿

basimitsu
basimitsu

スコア12

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  ```html
22
22
 
23
- <input type="text" formControlName="hoge" change />
23
+ <input type="text" formControlName="hoge" change />
24
24
 
25
25
  ```
26
26
 
@@ -28,37 +28,37 @@
28
28
 
29
29
  ```typescript
30
30
 
31
- public form: FormGroup;
31
+ public form: FormGroup;
32
32
 
33
33
 
34
34
 
35
- constructor(private _http: Http, @Inject('BASE_URL') private _baseUrl: string, private _fb: FormBuilder, private _router: Router) {
35
+ constructor(private _http: Http, @Inject('BASE_URL') private _baseUrl: string, private _fb: FormBuilder, private _router: Router) {
36
36
 
37
- this.form = this._fb.group({
37
+ this.form = this._fb.group({
38
38
 
39
- filePath: new FormControl('')
39
+ filePath: new FormControl('')
40
40
 
41
- })
41
+ })
42
42
 
43
- }
43
+ }
44
44
 
45
45
 
46
46
 
47
+ get hoge(): AbstractControl {
47
48
 
49
+ return this.form.get("hoge") as AbstractControl;
48
50
 
49
- get hoge(): AbstractControl {
50
-
51
- return this.form.get("hoge") as AbstractControl;
52
-
53
- }
51
+ }
54
52
 
55
53
 
56
54
 
57
- click() {
55
+ click() {
58
56
 
59
- this.hoge.setValue("hogehoge");
57
+ this.hoge.setValue("hogehoge");
60
58
 
61
- }
59
+ }
60
+
61
+
62
62
 
63
63
  ```
64
64
 

1

sample.component.html と change.Directive.ts の関連付けができるように@Directive追加

2018/12/03 17:54

投稿

basimitsu
basimitsu

スコア12

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  - chengeイベントではなくてもchange.Directive.ts で変更を拾えれば問題ない
14
14
 
15
-
15
+ - 以下のコードに記載してないがDirectiveの登録などは行っている(画面からはイベントが拾える状態)
16
16
 
17
17
 
18
18
 
@@ -20,7 +20,7 @@
20
20
 
21
21
  ```html
22
22
 
23
- <input type="text" formControlName="hoge" onchange="chengevalue()" />
23
+ <input type="text" formControlName="hoge" change />
24
24
 
25
25
  ```
26
26
 
@@ -66,6 +66,16 @@
66
66
 
67
67
  ```typescript
68
68
 
69
+ @Directive({
70
+
71
+ selector: 'input[change]'
72
+
73
+ })
74
+
75
+
76
+
77
+ export class TrimDirective {
78
+
69
79
  // 呼び出されない
70
80
 
71
81
  @HostListener('change')
@@ -76,4 +86,6 @@
76
86
 
77
87
  }
78
88
 
89
+ }
90
+
79
91
  ```