我正在尝试注入$httpParamSerializer
以便在templateUrl
中使用,但我遇到了一些问题。没有任何好的文档和如何使用$httpParamSerializer
的示例。
示例代码:
angular.module('myApp', ['ngRoute']).config(
function($routeProvider, $locationProvider, $httpProvider) {
$routeProvider
.when('/data/dashboard', {
templateUrl: function(params) {
//NEED TO USE IT HERE
}
})
})
那些没有用的东西,就像这样:
function($routeProvider, $locationProvider, $httpProvider,$httpParamSerializer ) {
同样在模块中,像这样:
angular.module('myApp', ['ngRoute', '$httpParamSerializer']).config(
任何有关这不起作用的见解都会有所帮助。
答案 0 :(得分:3)
由于您在配置中,您需要从提供商本身获取它。也就是说,注入提供者并致电$get
angular.module('myApp', ['ngRoute']).config(
function($routeProvider, $locationProvider, $httpProvider, $httpParamSerializerProvider) {
// get the serializer from the provider
var paramSerializer = $httpParamSerializerProvider.$get();
console.log(paramSerializer({a:1})); // test it
$routeProvider.when('/', {
templateUrl: function(params) {
// you can use paramSerializer(here
}
});
});
你的jsfiddle的工作版本:http://jsfiddle.net/kh9oeq1y/16/
答案 1 :(得分:-1)
This forum表明你的角度版本存在问题。检查您是否使用至少1.4.0。