2015-01-21 105 views
-1

我是一位角向js的rails开发人员。Angular js Routing

在MVC框架语言中,我们可以为控制器中的动作或方法指定路由。 有没有什么办法可以使用角度UI路由器在角度js中调用控制器的功能

+0

你的意思是主机/ controllerName /方法名路由? – Marcus 2015-01-21 08:06:20

+0

是的,我想要像控制器/方法的路线。 – user1980065 2015-01-21 08:23:33

回答

0

那么,您将不会通过指定正确的路由自动启动方法,但您可以自行管理它,如下所示:

angular('app').config(function($routeProvider){ 
      $routeProvider.when("/ctrl", 
        { 
         action: "ctrl.default" 
        } 
       ); 
}); 


angular('app').controller('ctrl', function($route) { 
    render = function() { 
     $scope.action = $route.current.action.split("."); 
    } 

    $scope.$on("$routeChangeSuccess",function($currentRoute, $previousRoute){ 

     render(); 

    }); 

基本上,事件被解雇每次在路径要素被改变时,同时在render()方法,你可以在$scope.action

的情况下切换为提供的参数正确的操作工作,正如你所看到的,变量action是一个,持有传递给控制器​​的信息。

上面的代码是不写的测试,所以要小心:对

+0

感谢您的回复Marcus – user1980065 2015-01-21 10:08:23

0
var sampleApp = angular.module('sampleApp', []); 
sampleApp.config(['$routeProvider', function($routeProvider) { $routeProvider. when('/ShowOrder/:orderId', { templateUrl: 'templates/show_order.html', controller: 'ShowOrderController' }); }]); 
sampleApp.controller('ShowOrderController', function($scope, $routeParams) { $scope.order_id = $routeParams.orderId; });