Angularjs版本: 1.3.5

工作中,由于是多级菜单,如果上级菜单为空,就会访问Angularjs 默认的state,然后再展开菜单,我找资料之后,才知道是通过filter来格式化输出数据的,格式是{{ expression | filter }}.我想要的效果是,如果href为空的话,就输出javascript:;.

自定义的Filter是:

var app = angular.module("app", []);
app.controller('HomeCtrl', function($scope) {
$scope.menus = [
{
href:"",
title:"test1"
},
{
href:"http://www.domain.com",
title:"goto"
}
];
});
app.filter("menuhref", function() {
return function(href){
if(href == "" || href == undefined){
return "javascript:;";
}else{
return href;
}
};
});

使用示例:

<ion-list>
<ion-item ng-repeat="menu in menus">
<a href="{{ menu.href | menuhref}}">{{menu.title}}</a>
</ion-item>
</ion-list>

显示的效果是:

链接中出现了unsafe:javascript:;的字样,意思是不安全的链接,原来可以添加链接白名单,如我的code中,链接是http:javascript:的开头的,就可以在app.config进行定义链接白名单,如:

 .config(function($stateProvider, $urlRouterProvider,$compileProvider) {
$compileProvider.aHrefSanitizationWhitelist(/^\s*(javascript|http):/);
});

语法是:aHrefSanitizationWhitelist([regexp]);

最终的显示效果是:

总结:

学习到了Angularjs中可以使用Filter来格式化输出的信息,链接出现unsafe字样时,可以通过$compileProvider.aHrefSanitizationWhitelist()方法设置链接白名单。

参考文献:

  1. Building Custom AngularJS Filters 学习到如何定义自定义Filter
  2. Angular changes urls to “unsafe:” in extension page 解决Angularjs的链接显示unsafe
  3. $compileProvider $compileProvider文档

最新文章

  1. 开发常用之在webstorm中使用cmd
  2. IOS对.Net返回的Base64string解析问题
  3. C# 中 SQLite 使用介绍
  4. JavaScript - 时间函数
  5. 用 Javascript 获取页面大小、窗口大小和滚动条位置
  6. Git现实(四)状态转换
  7. 玩转Vim-札记
  8. tomcat 高并发配置 与优化
  9. SpringMVC详解(一)------入门实例
  10. APICloud学习第二天——操作云数据库
  11. python函数默认参数作用域
  12. Apache服务器的安装与配置
  13. JNDI的学习与使用
  14. 封装个StringBuffer,用array join的方式拼接字符串
  15. docker-py环境配置
  16. DRF - 序列化组件(GET/PUT/DELETE接口设计)、视图优化组件
  17. NSDictionary底层实现原理
  18. Android之动画1
  19. Servlet执行过程
  20. &#39;latin-1&#39; codec can&#39;t encode characters in position解决字符问题

热门文章

  1. 最大流——hdu4292(类似poj3281 带间隔的流)
  2. jquery学习笔记(四):动画
  3. SQLServer日期格式化及创建相关日期
  4. Docker系列(五):Docker网络机制(上)
  5. Spring MVC(十四)--SpringMVC验证表单
  6. 十条服务器端优化Web性能的技巧总结
  7. 小tips: zoom和transform:scale的区别
  8. Hive学习笔记简版
  9. 面试系列13 redis都有哪些数据类型
  10. springcloud系列13 config的客户端使用