Javascript 如何使用AngularJS中的同一控制器在视图之间共享变量?
我有这个控制器Javascript 如何使用AngularJS中的同一控制器在视图之间共享变量?,javascript,angularjs,angularjs-controller,modal-view,Javascript,Angularjs,Angularjs Controller,Modal View,我有这个控制器 app.controller('UploadController', ['$scope', 'Upload', '$timeout', function ($scope, Upload, $timeout) { $scope.$watch('files', function () { $scope.upload($scope.files); }); $scope.upload = function (files) { if
app.controller('UploadController', ['$scope', 'Upload', '$timeout', function ($scope, Upload, $timeout) {
$scope.$watch('files', function () {
$scope.upload($scope.files);
});
$scope.upload = function (files) {
if (files && files.length) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
}
}
};
}]);
但我真正需要的是在模态视图中显示temp
<section ng-controller="UploadController">
<img ngf-src="files[0]" ng-show="files[0].type.indexOf('image') > -1">
</section>
-1">
模态视图具有相同的控制器和相同的“img”属性,但当我显示模态视图控制器重启时,这就是问题的关键,我需要了解如何在不需要重做操作的情况下,将变量的值保留在同一个控制器中的不同视图中
基本上我需要:当显示视图时,我的控制器不会重新启动。
获取图像的url或图像的路径。一旦您将图像上载到服务器。如果您可以返回图像url而不是图像数据,则图像应正确显示。请显示您实际遇到问题的代码ith(即调用模态的代码)…目前还不清楚您的意思是modal使用的是同一控制器实例,还是同一控制器类的另一个实例。一旦您更改视图,您的控制器将重置。这些是路由器视图吗?现在问题更清楚了,我希望在您使用ng controller
您将获得控制器的新副本。要在视图之间保留变量,或在某种意义上使它们成为全局的,您可以使用$rootScope
或创建服务。
<section ng-controller="UploadController">
<img ngf-src="files[0]" ng-show="files[0].type.indexOf('image') > -1">
</section>