在homeController文件中我有函数
$scope.MyFunction = function () {
$http({
method: 'POST',
url: '/SomeUrl/ActionToDo',
data: { id: 1001 },
}).success(function (response) {
if (response.Status == 1) {
//success to do
}
$modal.open({
controller: 'modalController',
templateUrl: '/app/views/modalTemplate.html',
resolve: {
myData: function () {
return response;
}
}
});
} else {
alert(error);
}
}).error(function () {
alert('Error!');
});
}
我正在调用modalController来打开模态窗口。问题是我如何从homeController传递数据到这个控制器(modalController),以便注入当前选择的语言,该语言在变量$scope.selLanguage
答案 0 :(得分:1)
您可以将其作为解析依赖项注入控制器:
$modal.open({
controller: 'modalController',
templateUrl: '/app/views/modalTemplate.html',
resolve: {
myData: function () {
return response;
},
language: $scope.selLanguage
}
});
因此它将在控制器中作为服务提供
.controller('modalController', function(myData, language) {
console.log(language);
})
答案 1 :(得分:0)
使用resolve将数据作为本地传递给模态控制器。
resolve: {
myData: function () {
return response;
},
modalVar: $scope.selLanguage
}
在modalController中引用该变量,因为它是该modalController控制器的本地变量。
angular.module('demo').controller('modalController', function ($scope, $modalInstance, modalVar) {
$scope.modalVar= modalVar;
});
请参阅this 了解更多