如何在angularJS中发送$ routeProvider的send参数

时间:2015-03-02 15:39:08

标签: angularjs angular-routing

我想将参数发送到templateUrl我想在/folder/stockInventoryController.do?param=loadGroupStyles_Controller&fabId=(我需要添加)之后附加一些数字

    myApp.config(function($routeProvider){
        //setup Router for widgets page
        $routeProvider
        .when('/relatedStyle',{
            controller:'groupStylesLoad',
            templateUrl:'/folder/stockInventoryController.do?param=loadGroupStyles_Controller&fabId='+needParameterHere
        })
    });

3 个答案:

答案 0 :(得分:0)

如果您需要在网址上运行一些魔法,可以将

templateUrl用作函数。它接受1个参数,该参数接收当前url。

查看您的示例,/relatedStyle中没有任何参数;但是如果有你这样访问和修改它们:

.when('/relatedStyle/:arbitraryParam',{
        controller:'groupStylesLoad',
        templateUrl: function(url) {
            var modifiedParam = url.arbitraryParam++;
            return '/folder/stockInventoryController.do?param=loadGroupStyles_Controller&fabId=' + modifiedParam;
        }
    })

答案 1 :(得分:0)

http://stackoverflow.com/questions/11534710/angularjs-how-to-use-routeparams-in-generating-the-templateurl

见上面的链接,它可能对你有帮助

答案 2 :(得分:0)

这有两种方法。一个是路由

myApp.config(function($routeProvider){
        //setup Router for widgets page
        $routeProvider
        .when('/relatedStyle/:fabid',{
            controller:'groupStylesLoad',
            templateUrl:'template/template.html'
        })
    });

myApp.controller("groupStylesLoad", ['$scope', '$routeParams',
     function($scope, $routeParams)
         {var fabId = $routeParams.fabid;}
]);

但是,如果您需要使用查询sting。

 myApp.controller("groupStylesLoad", ['$scope', '$location',
         function($scope, $location)
             {var fabId = $location.search().fabid;
             // $location.search() returns object like {key1: value1, key2: value2, ...}
        ]);

https://docs.angularjs.org/guide/ $位置

希望这会有所帮助。