問題は、私は ui-router を使用していて、2 つのビューがあることです。1 つはツールバーのようなもので、もう 1 つはフォームのコンテンツです。
ここで、ツールバーに保存ボタンを配置したいと思います。これは、フォームがそうでない場合は無効になります$valid
。しかし、これら 2 つは完全に異なるスコープにあり、次のようになります。
- rootScope
- ツールバーのスコープ
- 内容範囲(あり
form.$valid
)
そこで、フォームから出力される何らかの $valid イベントをリッスンして対処しようと考えました。
ここでVojtaが言ったことによると、これらのイベントは存在するはずですが、どこにも指定されていません..そして、これを見ると、イベントが表示されません..
私はおそらくすることができました
$scope.$watch('form.$valid', function(newVal, oldVal) {
$scope.$emit('validityChange', {'form':newVal});
});
しかし、これよりもイベントを使用した方が良いように感じます
それとも、まったく違うものを試す必要がありますか?コンテンツの ui-view 内にツールバーの ui-view を配置できないことに注意してください。これによれば、2 つの ui-view が同じスコープを持つことはできません。