AngularJS 遇到的小坑与技巧小结


Posted in Javascript onJune 07, 2016

1. templateURL和路由之类的要在web server下运行。

2. 使用模板replace设为true,模板里也要有相应的标签,否则不出现任何数据。

3. 1.2版本之后,ngRoute模块独立。

4.空的controller不定义会出错。

5.Directive的link参数是有顺序的:scope,element,attrs,ctrl

6.ng-repeat不能循环重复的对象。hack: ng-repeat="thing in things track by $id($index)"

7.尽量更新的是变量的属性而不是单个变量本身。

8.注意ng-repeat,ng-controller等会产生独立作用域。

9.当jquery载入,则使用jquery,否则使用内置jqlite。all element references in Angular are always wrapped with jQuery or jqLite; they are never raw DOM references.

10.Uncaught Error: [$location:ihshprfx]  A标签没有去掉 <a href="#" ng-click="someMethod();"></a>

11.Error: listen EACCES 当在linux下,会出现这个错误,因为你监听的端口的原因,这里我的是33。把它改成8080或3030之类大的端口数就可以了。有一个规定,这些端口最好是大于1024。

12. select在没有ng-model的时候,无法显示。同理,当遇到无法显示最好看文档少了什么。

补:当ng-options的源,跟书写不相配时会出现全部选择的情况,如下:

var a = [{"id":1,"name":"Ryan"}....] ,ng-options="item.i as item.name for item in a"  // i与id不同

----------------------------------------------------------------------------------------

13.ng-bind-html-unsafe已去除,可以用['ngSanitize'] 模块或使用$sce服务

From stackoverflow

You indicated that you're using Angular 1.2.0... as one of the other comments indicated, ng-bind-html-unsafe has been deprecated.

Instead, you'll want to do something like this:

<div ng-bind-html="preview_data.preview.embed.htmlSafe"></div>

In your controller, inject the $sce service, and mark the HTML as "trusted":

myApp.controller('myCtrl', ['$scope', '$sce', function($scope, $sce) {

  // ...

  $scope.preview_data.preview.embed.htmlSafe = 

     $sce.trustAsHtml(preview_data.preview.embed.html);

}

Note that you'll want to be using 1.2.0-rc3 or newer. (They fixed a bug in rc3 that prevented "watchers" from working properly on trusted HTML.)

查看更多AngularJS的语法,大家可以关注:AngularJS 参考手册英文版,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript实现Sleep函数的代码
Mar 04 Javascript
js 函数的执行环境和作用域链的深入解析
Nov 01 Javascript
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
Jun 19 Javascript
jquery显示和隐藏div特效实例
Feb 27 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
May 20 Javascript
javascript实现的简单的表单验证
Jul 10 Javascript
Js获取图片原始宽高的实现代码
May 17 Javascript
AngularJS基础 ng-class-odd 指令示例
Aug 01 Javascript
vue源码解析之事件机制原理
Apr 21 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
May 16 Javascript
vue+axios实现文件下载及vue中使用axios的实例
Sep 21 Javascript
在HTML5 localStorage中存储对象的示例代码
Apr 21 Javascript
模仿password输入框的实现代码
Jun 07 #Javascript
无缝滚动的简单实现代码(推荐)
Jun 07 #Javascript
Bootstrap学习笔记之css样式设计(2)
Jun 07 #Javascript
AngularJS 如何在控制台进行错误调试
Jun 07 #Javascript
JQuery异步加载PartialView的方法
Jun 07 #Javascript
基于JS实现无缝滚动思路及代码分享
Jun 07 #Javascript
Bootstrap学习笔记之css样式设计(1)
Jun 07 #Javascript
You might like
关于在php.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
2013/01/11 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
2013/12/16 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
解决前端跨域问题方案汇总
2016/11/20 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
Angular之toDoList的实现代码示例
2017/12/02 Javascript
运用js实现图层拖拽的功能
2019/05/24 Javascript
JavaScript布尔运算符原理使用解析
2020/05/06 Javascript
python通过BF算法实现关键词匹配的方法
2015/03/13 Python
python处理大数字的方法
2015/05/27 Python
详解Django中的form库的使用
2015/07/18 Python
深入浅析python中的多进程、多线程、协程
2016/06/22 Python
python 实现得到当前时间偏移day天后的日期方法
2018/12/31 Python
flask框架蓝图和子域名配置详解
2020/01/25 Python
SpringBoot实现登录注册常见问题解决方案
2020/03/04 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
python3爬虫中多线程进行解锁操作实例
2020/11/25 Python
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
汇智创新科技发展有限公司
2015/12/06 面试题
Lucene推荐的分页方式是什么?
2015/12/07 面试题
授权委托书格式模板
2014/04/03 职场文书
高中班主任评语大全
2014/04/25 职场文书
车辆工程专业求职信
2014/06/14 职场文书
中学教师师德师风演讲稿
2014/08/22 职场文书
教师学习三严三实心得体会
2014/10/13 职场文书
法定代表人免职证明
2015/06/24 职场文书
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript