質問編集履歴
1
現象を追記しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -26,11 +26,31 @@
|
|
26
26
|
|
27
27
|
|
28
28
|
|
29
|
+
$scope.$on("change:msg", (evt, value) => {
|
30
|
+
|
31
|
+
console.log(value); // 動く
|
32
|
+
|
33
|
+
});
|
34
|
+
|
35
|
+
|
36
|
+
|
29
37
|
this.greet = function() {
|
30
38
|
|
31
39
|
msg = "hello world !";
|
32
40
|
|
33
41
|
};
|
42
|
+
|
43
|
+
}]);
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
app.controller("myController", ["$scope", "appService", function ($scope) {
|
48
|
+
|
49
|
+
$scope.$on("change:msg", (evt, value) => {
|
50
|
+
|
51
|
+
console.log(value); // 動かない
|
52
|
+
|
53
|
+
});
|
34
54
|
|
35
55
|
}]);
|
36
56
|
|
@@ -59,3 +79,13 @@
|
|
59
79
|
`greet()`内で`$scope`が参照できるのも確認しました。
|
60
80
|
|
61
81
|
`greet()`内で`$scope.$broadcast("change:msg", msg);`としても`$broadcast`も動作しませんでした。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
追記
|
86
|
+
|
87
|
+
サービス内で`$scope.$on`を利用すると動作しました。
|
88
|
+
|
89
|
+
別のコントローラーで`$scope.$on`を利用すると動作しませんでした。
|
90
|
+
|
91
|
+
injectorから呼び出した際に$scopeがrootでないようですが、どうしたらrootに出来るのかが分かりません。
|