0

を使用して「ポップアップ」を開いています

$scope.dialog = ngDialog.open({ template: 'addSurveyQuestion', controller: 'EventSurveysCtrl', scope: $scope });

テンプレート内で、AJAX リクエストを作成する関数を呼び出しますが、そのデータを使用して $scope にプッシュ$scope.eventSurveyQuestions.push({data here});すると、メインの $scope には表示されません。メインページ用と ngDialog 用の 2 つの $scope 変数があるかのようです。

ngDialog ポップアップ内から開始されたプロセス内からメインの $scope にデータを追加するにはどうすればよいですか?

4

3 に答える 3

0

scope.$parent または $scope.$parent によって、メイン スコープにデータを追加できます。

おそらく $rootScope を使用して、そこから変数値を設定および取得できます

于 2016-04-19T14:39:38.950 に答える
0

「メイン スコープ」からダイアログを開く場合は、dialog.open でスコープを使用する必要はありません。

試す

$scope.dialog = ngDialog.open({
    template: 'addSurveyQuestion',
    controller: 'EventSurveysCtrl',
});

そして、あなたのダイアログコントローラで -

app.controller('EventSurveysCtrl', ["$scope",.... fucntion($scope,...) {
    //now the '$scope' is your main scope
}
于 2016-04-19T14:41:18.400 に答える
0

私は何も知りませんが、スコーププロパティに関するドキュメントngDialogを調べました。

ダイアログに渡されるスコープ オブジェクト。別の $scope サービスでコントローラーを使用する場合、このオブジェクトは $scope.$parent param に渡されます

実際のコントローラーをどのように構築したかはあまり示されていないので$scope.$parent、プレーンではなくアクセスしたいかもしれないと推測できます$scope

この質問にも興味があるかもしれません。

于 2016-04-19T14:36:42.237 に答える