1控制器中带Crud的动态路由

我能够成功利用动态路线。 我也不希望在我的不同控制器中分离CRUD功能(即,每个对象在一个控制器中保留CRUD)。

根据这个问题,我改变了我的路线使用相同的控制器对所有CRUD操作(类似Rails)通过根据Stewie的建议添加解析:


我想通了,但不会让我在下面发布解决方案,所以这里是:


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'){
  .....
   }

 });

[错误:[$ injector:unpr] 未知提供者 :$ scopeProvider < - $ scope < - usersFactory“错误[$ injector:unpr]


有几个原因会导致这样的错误:

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)有时会添加$范围 - 不应该

我的BAD语法:

myControllers.factory('usersFactory', ['$http','$scope', function($scope,$http){...}

加工:

myControllers.factory('usersFactory', ['$http',function($scope,$http){...}

5)另一个惊喜:数组值中的空格:

controller('myCtrl', ['$scope', '$timeout ' (...)

阅读更多在这篇文章

链接地址: http://www.djcxy.com/p/77635.html

上一篇: Dynamic Routes with Crud in 1 Controller

下一篇: UI Router