11

問題は、私は 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 が同じスコープを持つことはできません。

4

2 に答える 2