質問編集履歴
4
発火のタイミングを書き忘れました。moutedの時に呼び出しています。
test
CHANGED
File without changes
|
test
CHANGED
@@ -96,6 +96,12 @@
|
|
96
96
|
|
97
97
|
}
|
98
98
|
|
99
|
+
mounted() {
|
100
|
+
|
101
|
+
initializeChild();
|
102
|
+
|
103
|
+
}
|
104
|
+
|
99
105
|
}
|
100
106
|
|
101
107
|
</script>
|
3
度々申し訳ありません。実際のコードから最低限まで絞ったので情報が抜けていました。追記します。
test
CHANGED
File without changes
|
test
CHANGED
@@ -56,6 +56,8 @@
|
|
56
56
|
|
57
57
|
<script>
|
58
58
|
|
59
|
+
import child-component from 'child-component'
|
60
|
+
|
59
61
|
export default {
|
60
62
|
|
61
63
|
methods: {
|
@@ -108,7 +110,11 @@
|
|
108
110
|
|
109
111
|
<template">
|
110
112
|
|
113
|
+
<div class="chilid-container">
|
114
|
+
|
111
|
-
<p>子コンポーネント</p>
|
115
|
+
<p>子コンポーネント</p>
|
116
|
+
|
117
|
+
</div>
|
112
118
|
|
113
119
|
</template>
|
114
120
|
|
2
誤字修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,9 +4,25 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
親から子コンポーネントの関数を実行することが出来ないことがわかりました。
|
7
|
+
~~親から子コンポーネントの関数を実行することが出来ないことがわかりました。
|
8
8
|
|
9
|
-
vueの方針として、propの状態変化でイベントを起こすことを推薦しているようなので、propの監視で対応しようと考えました。
|
9
|
+
vueの方針として、propの状態変化でイベントを起こすことを推薦しているようなので、propの監視で対応しようと考えました。~~
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
なんども申し訳ありません。
|
14
|
+
|
15
|
+
できる様です。
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
ただ、私の場合だと、というエラーが出てしまい、methodsに登録してるメソッドを読むことが出来ず、
|
20
|
+
|
21
|
+
発火できません。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
> Error in mounted hook: "TypeError: Cannot read property 'メソッド名' of undefined"
|
10
26
|
|
11
27
|
|
12
28
|
|
@@ -19,6 +35,12 @@
|
|
19
35
|
## 親コンポーネント
|
20
36
|
|
21
37
|
親コンポーネントで、changeComp```changeComp```をい実行するとalertが発火する想定。
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
記述ミスがあったため修正します。
|
42
|
+
|
43
|
+
実際のコードから抜粋しているので、設定を書き忘れていた箇所がありました。
|
22
44
|
|
23
45
|
|
24
46
|
|
@@ -47,6 +69,12 @@
|
|
47
69
|
}
|
48
70
|
|
49
71
|
},
|
72
|
+
|
73
|
+
components {
|
74
|
+
|
75
|
+
child-component
|
76
|
+
|
77
|
+
}
|
50
78
|
|
51
79
|
initializeChild() {
|
52
80
|
|
@@ -94,7 +122,7 @@
|
|
94
122
|
|
95
123
|
watch: {
|
96
124
|
|
97
|
-
isComp: functon(val) {
|
125
|
+
isComp: function(val) {
|
98
126
|
|
99
127
|
this.reset()
|
100
128
|
|
1
pripを使う方法に変えため記事を調整します。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
【vue】親コンポーネント
|
1
|
+
【vue】親コンポーネントにbindしているpropの値がwatch出来ない。
|
test
CHANGED
@@ -1,38 +1,32 @@
|
|
1
|
-
親コンポーネントから子コンポーネントのメソッドを実行したいのですが、子コンポーネントの指定ができず、子コンポーネントのメソッドが実行できません。
|
1
|
+
~~親コンポーネントから子コンポーネントのメソッドを実行したいのですが、子コンポーネントの指定ができず、子コンポーネントのメソッドが実行できません。
|
2
|
+
|
3
|
+
具体的には、子コンポーネントにrefを指定しても、undifindが帰ってきます。~~
|
2
4
|
|
3
5
|
|
4
6
|
|
5
|
-
|
7
|
+
親から子コンポーネントの関数を実行することが出来ないことがわかりました。
|
8
|
+
|
9
|
+
vueの方針として、propの状態変化でイベントを起こすことを推薦しているようなので、propの監視で対応しようと考えました。
|
6
10
|
|
7
11
|
|
8
12
|
|
13
|
+
監視に```watch```を使ってみようと考えたのですが動きません。
|
9
14
|
|
10
|
-
|
11
|
-
### エラー内容
|
12
|
-
|
13
|
-
|
15
|
+
propに対して、watchを起動させるにはどうしたらよいでしょうか?
|
14
16
|
|
15
17
|
|
16
18
|
|
19
|
+
## 親コンポーネント
|
20
|
+
|
17
|
-
|
21
|
+
親コンポーネントで、changeComp```changeComp```をい実行するとalertが発火する想定。
|
18
22
|
|
19
23
|
|
20
|
-
|
21
|
-
---
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
> TypeError: Cannot read property 'reset' of undefined
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
### 親コンポーネント
|
30
24
|
|
31
25
|
```vue
|
32
26
|
|
33
27
|
<template">
|
34
28
|
|
35
|
-
<child-component ref="child"></child-component>
|
29
|
+
<child-component ref="child" v-bind:is-comp="this.$data.isComp"></child-component>
|
36
30
|
|
37
31
|
</template>
|
38
32
|
|
@@ -44,6 +38,16 @@
|
|
44
38
|
|
45
39
|
methods: {
|
46
40
|
|
41
|
+
data() {
|
42
|
+
|
43
|
+
return {
|
44
|
+
|
45
|
+
isComp: false
|
46
|
+
|
47
|
+
}
|
48
|
+
|
49
|
+
},
|
50
|
+
|
47
51
|
initializeChild() {
|
48
52
|
|
49
53
|
const { child } = this.$refs
|
@@ -51,6 +55,12 @@
|
|
51
55
|
// 子コンポーネントを呼ぶ
|
52
56
|
|
53
57
|
child.reset();
|
58
|
+
|
59
|
+
},
|
60
|
+
|
61
|
+
changeComp() {
|
62
|
+
|
63
|
+
this.$data.isComp = true
|
54
64
|
|
55
65
|
}
|
56
66
|
|
@@ -80,6 +90,18 @@
|
|
80
90
|
|
81
91
|
export default {
|
82
92
|
|
93
|
+
prop['isComp'],
|
94
|
+
|
95
|
+
watch: {
|
96
|
+
|
97
|
+
isComp: functon(val) {
|
98
|
+
|
99
|
+
this.reset()
|
100
|
+
|
101
|
+
}
|
102
|
+
|
103
|
+
}
|
104
|
+
|
83
105
|
methods: {
|
84
106
|
|
85
107
|
reset() {
|
@@ -102,14 +124,6 @@
|
|
102
124
|
|
103
125
|
|
104
126
|
|
105
|
-
-
|
127
|
+
- propではなく、同じコンポーネントのdataの値を設置してみた
|
106
128
|
|
107
|
-
->
|
129
|
+
-> 反応しない。
|
108
|
-
|
109
|
-
- refに指定した名前が重複しているかもしれないので変更する。
|
110
|
-
|
111
|
-
-> 結果は同じ。
|
112
|
-
|
113
|
-
- refで取得した要素をconsol.logで見る
|
114
|
-
|
115
|
-
-> undifindなので、そもそもrefで指定しても要素が取れていない。
|