如何注入$httpParamSerializer以在模板URL中使用
How to inject $httpParamSerializer for use in templateUrl
我正在尝试注入$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(
任何为什么这不起作用的见解都会有所帮助。
由于您在配置中,因此您需要从提供程序本身获取它。也就是说,注入提供程序并调用$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.4.0。
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 使用php或javascript从facebook相册URL中删除多余的部分
- Angular JS IE9 Hashbang url rewriting
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 直接下载文件,而不是从window.open(url)
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 通过js在新选项卡中有条件地打开url
- CKFinder 3为所选文件返回错误的URL
- 如何获取不属于我项目的上一页的URL
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 在URL中传递JS对象
- 将纯文本URL转换为可单击链接
- Javascript html每点击一次就会更改url
- 以角度管理动态URL
- Mathias URL shortener
- 如何有效地将游戏数据存储在URL查询字符串中
- 使用带括号的图像URL作为jQuery的背景
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 传递包含'%的参数'在URL中
- 如何在不同的url angularjs上更改类名