我能够成功利用动态路线。我也不想在不同的控制器中分离CRUD功能(即每个对象在一个控制器中保留CRUD)。
根据这个问题,我根据Stewie的推荐 添加了解析 ,改变了我的路线 Using same controller for all CRUD operations (Rails-alike) :
我明白了,但是我不会让我在下面发布解决方案,所以这里是:
1。路由
angular.module('anuRoutes',[])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/', { templateUrl: '/App_Angular/partials/Common/Welcome.html' });
$routeProvider.when('/:name', {
templateUrl: '/App_Angular/partials/Common/Welcome.html',
controller: PagesCtrl,
action: 'list'
});
$routeProvider.when('/:name/:id', {
templateUrl: '/App_Angular/partials/Common/Welcome.html',
controller: PagesCtrl,
action: 'show'
});
$routeProvider.when('/:name/new', {
templateUrl: '/App_Angular/partials/Common/Welcome.html',
controller: PagesCtrl,
action: 'new'
});
$routeProvider.when('/:name/:id/edit', {
templateUrl: '/App_Angular/partials/Common/Welcome.html',
controller: PagesCtrl,
action: 'edit'
});
$routeProvider.otherwise({ redirectTo: '/App_Angular/partials/Common/Welcome.html' });
}]);
2。页面控制器:
函数PagesCtrl($ scope,$ http,$ route,$ routeParams,$ compile,anuCache){
var pageName = ($routeParams.name).replace("_", "/");
console.log('name:' + pageName);
$route.current.templateUrl = '/App_Angular/partials/' + pageName + ".html";
});
第3。乘客管制员:
angular.module('anuPassengerVehicles',[])
.controller('PassengerVehiclesCtrl',函数($ scope,$ timeout,PassVehSvc,$ route){
$scope.ControllerName = "PassengerVehiclesCtrl";
$scope.PassVehs = [];
var crudAction = $route.current.action;
if(crudAction === 'list'){
PassVehSvc.GetPassVehs().
then(function(config, data, headers, status) {
$scope.PassVehs = arguments[0].data;
// console.log(arguments[0].data);
}
if(crudAction === 'edit'){
.....
}
if(crudAction === 'new'){
.....
}
if(crudAction === 'show'){
.....
}
});
答案 0 :(得分:0)
错误[$ injector:unpr]像我一样找我(新错误): “错误:[$ injector:unpr] 未知提供商:$ scopeProvider< - $ scope< - usersFactory”
有几个原因会产生这样的错误:
1)HTML文档中没有应用程序初始化(ng-app)
2)或加倍初始化(ng-app)
<html ng-app>
<div id="cartView" ng-app="myApp" ng-controller="CartCtrl">
3)有时候可以在两个地方覆盖一个模块,例如,像这样的代码 一旦做到:
angular.module ('MyService' ...
). factory (...);
然后在同一个文件下面
angular.module ('MyService' ...
.) value ('version', '0 .1 ');
4)有时会添加$ scope - 而且不应该
我的BAD语法:
myControllers.factory('usersFactory', ['$http','$scope', function($scope,$http){...}
WORKING:
myControllers.factory('usersFactory', ['$http',function($scope,$http){...}
5)另一个惊喜:数组值中的空格:
controller('myCtrl', ['$scope', '$timeout ' (...)
中了解详情