AngularJS的踏坑经验
来源:互联网 发布:adc0804数据手册 编辑:程序博客网 时间:2024/05/21 14:48
前段时间一项中需要使用 AngularJS 这个框架,但在使用中发现几处比较坑的地方。在此文中列举出解决方案希望帮助到更多的人,假如你看到此篇文章时发现有好的解决方案请留言告诉我。拜托。
路由切换时自动跳到页面顶部
假如路由改变、视图刷新时页面不是在顶部位置,则新的视图页面也不在顶部位置,大多数时我们希望它能自动跳到顶部,可以在模块 run() 方法中加入下面代码:
angular.module('myApp') .run(['$rootScope', '$document', function($rootScope, $document) { $rootScope.$on('$routeChangeSuccess', function() { $document[0].body.scrollTop = $document[0].documentElement.scrollTop = 0; }); }]);
跨域请求
在使用过程中发现使用 CORS 发送跨域请求比 JSONP 更安全更简洁,方式很简单。
1.在 config 中加入下面两行代码
angular.module('myApp') .config([ '$httpProvider', function($httpProvider) { $httpProvider.defaults.useXDomain = true; delete $httpProvider.defaults.headers.common['X-Requested-With']; }]);
2.我的服务端语言是PHP,同时需要服务端配合。通过注释可以看明白一个是允许所有请求一个是指定请求
//允许所有域名都请求header("Access-Control-Allow-Origin:*");//上线后为了安全起见应指定域名//header("Access-Control-Allow-Origin:http://example.com");
显示html文本
Angularjs中输出变量使用“{{}}”或者“ng-bind”,但是如果变量中有html代码的话,angularjs为了xss安全,默认是不解析html,直接原样显示html代码。
// 控制器代码demo.controller('DemoController', [ '$scope', function($scope) { $scope.html = '<span style="margin:20px;">这是格式化的HTML文本</span>'; }]);
// 视图代码<div ng-controller="DemoController"> <h2>显示HTML文本</h2> <div class="content"> <p>需要显示的文本:{{html}}</p> <p>Html格式化文本: <span ng-bind-html="html|htmlContent"></span></p> </div></div>
这里通过$sce构建一个过滤器来对输出的html进行过滤
// htmlContent过滤器代码demo.filter('htmlContent',['$sce', function($sce) { return function(input) { return $sce.trustAsHtml(input); }}]);
此文章将持续更新,在使用 AngularJS 这方面我才进入,后面将整理更多的问题与大家分享。
0 0
- AngularJS的踏坑经验
- AngularJs学习经验汇集
- angularjs 小经验
- angularJS遇到的的坑
- [转载]AngularJs的一些坑
- 用angularjs遇到的坑
- Angularjs 几个指令的坑
- 【经验】Angularjs 中使用 layDate 日期控件
- AngularJS的一些坑以及注意点
- 用angularjs遇到的坑们
- AngularJS遇到的第一个坑
- angularJs初学遇到的坑之directive
- AngularJs遇到的小坑与技巧
- angularjs踩过的那些坑
- angularjs 容易踩到的坑
- angularjs module返回对象的坑
- angularjs的坑,执行两次控制器
- AngularJS的一些坑以及注意点
- ueditor百度编辑器 自定义— 按钮、图标、事件、窗口页面
- 移除jboss响应中的中间件信息
- mybatis-中级篇-RoleMapper.java
- *p++中*和++的优先级问题
- union
- AngularJS的踏坑经验
- 数据库连接池
- java实现给图片添加水印
- Ajax XMLHTTPRequest对象
- 第一行代码阅读笔记---基本知识
- 链路层常见报文格式及长度
- Tutorial: Using Beacon and iBeacon Technologies on Your iPhone / iPad with PubNub | Guest Post
- Android事件分发机制源码分析之ViewGroup篇
- 喜马拉雅音频下载器