我尝试了什么:
$routeProvider
.when('/paintings',
{
controller: 'imageController' , 'getPaintingImages'
templateUrl: 'paintings.html'
})
.when('/foods',
{
controller: 'imageController' , 'getFoodImages'
templateUrl: 'food.html'
})
我想要 getPaintingImages 和 getFoodImages 从工厂获取绘画/食物列表,并希望 imageController 来操作图像。但只有第一个控制器被调用。
早些时候我写了代码来只在 imageController 中获取图像,
myWebsite.controller('imageController', function imageController($scope, getPaintings){
$scope.images = getPaintings.images(); // but need to make this work for different set of images
$scope.imageCount = countObjectElements($scope.images);
$scope.selectedImage = $scope.images[0];
$scope.selectedImageIndex = 0;
$scope.updateSelectedImage = function(img) {
$scope.selectedImage = img;
$scope.selectedImageIndex = $scope.images.indexOf(img);
};
$scope.updateSelectedImageIndex = function(val) {
alert($scope.imageOf);
if($scope.selectedImageIndex <= 0)
$scope.selectedImageIndex = $scope.imageCount;
$scope.selectedImageIndex = ($scope.selectedImageIndex + val) % $scope.imageCount;
$scope.selectedImage = $scope.images[$scope.selectedImageIndex];
};
});
由于我是 angularJS 的初学者,我不确定创建多个控制器是否是重新使用 imageController 的解决方案?如果是,如何做到这一点,如果不是,如何重新使用 imageController 来处理不同的图像集。在函数的情况下,函数的重用通常是通过参数传递。但是在这里我想知道控制器如何在内部调用视图时获取参数?