在 angular 模态控制器中传递范围时,它没有显示第二次
When passing scope in angular modal controller, it's not showing second time
我正在从我的控制器调用模态弹出窗口。它第一次工作正常,但第二次不显示。
这是节目的代码
$scope.showAdvanced = function (ev) {
var scopeVar = $scope;
console.log('$mdDialog');
console.log($mdDialog);
$mdDialog.show({
controller: DialogController,
templateUrl: 'dialog1.tmpl.html',
parent: angular.element(document.body),
scope: $scope,
targetEvent: ev,
clickOutsideToClose: true
}).then(function (result) {
//$scope = $scope.$parent;
console.log($scope);
});
};
这是我在 DialogController 中的隐藏函数。
$scope.hide = function () {
console.log('hide called');
$mdDialog.hide();
console.log('hide completed');
};
Hide 正在成功执行,随后是 show 中定义的回调,它打印当前范围。
如果我删除 scope : $scope 并放置 transclude : true 那么它不会在对话框控制器中显示数据,尽管你可以多次显示和隐藏它。
将 preserveScope: true
添加到您的模式选项。默认情况下,对话会在关闭时删除其范围。
我正在从我的控制器调用模态弹出窗口。它第一次工作正常,但第二次不显示。 这是节目的代码
$scope.showAdvanced = function (ev) {
var scopeVar = $scope;
console.log('$mdDialog');
console.log($mdDialog);
$mdDialog.show({
controller: DialogController,
templateUrl: 'dialog1.tmpl.html',
parent: angular.element(document.body),
scope: $scope,
targetEvent: ev,
clickOutsideToClose: true
}).then(function (result) {
//$scope = $scope.$parent;
console.log($scope);
});
};
这是我在 DialogController 中的隐藏函数。
$scope.hide = function () {
console.log('hide called');
$mdDialog.hide();
console.log('hide completed');
};
Hide 正在成功执行,随后是 show 中定义的回调,它打印当前范围。 如果我删除 scope : $scope 并放置 transclude : true 那么它不会在对话框控制器中显示数据,尽管你可以多次显示和隐藏它。
将 preserveScope: true
添加到您的模式选项。默认情况下,对话会在关闭时删除其范围。