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中获取选中对象的类型
Apr 02 Javascript
jQuery.extend()的实现方式详解及实例
Jun 29 Javascript
关于js遍历表格的实例
Jul 10 Javascript
javascript制作loading动画效果 loading效果
Jan 14 Javascript
node.js插件nodeclipse安装图文教程
Oct 19 Javascript
浅谈JavaScript异步编程
Jan 20 Javascript
jQuery使用正则验证15/18身份证的方法示例
Apr 27 jQuery
简单实现jQuery弹幕效果
May 06 jQuery
在React中如何优雅的处理事件响应详解
Jul 24 Javascript
jQuery表单选择器用法详解
Aug 22 jQuery
Layui实现数据表格默认全部显示(不要分页)
Oct 26 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
Jan 25 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+AJAX实现无刷新注册(带用户名实时检测)
2006/12/02 PHP
php url地址栏传中文乱码解决方法集合
2010/06/25 PHP
php防止sql注入代码实例
2013/12/18 PHP
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
46 个非常有用的 PHP 代码片段
2016/02/16 PHP
Zend Framework分页类用法详解
2016/03/22 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
php-msf源码详解
2017/12/25 PHP
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
javascript 写类方式之八
2009/07/05 Javascript
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
jQuery实现获取h1-h6标题元素值的方法
2017/03/06 Javascript
完美解决axios跨域请求出错的问题
2018/02/05 Javascript
微信小程序实现点击图片放大预览
2019/10/21 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
python创建进程fork用法
2015/06/04 Python
python实现输入数字的连续加减方法
2018/06/22 Python
python用match()函数爬数据方法详解
2019/07/23 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
2020/01/06 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
如何以Winsows Service方式运行JupyterLab
2020/08/30 Python
python中pivot()函数基础知识点
2021/01/03 Python
HTML5视频播放插件 video.js介绍
2018/09/29 HTML / CSS
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
EJB timer的种类
2014/10/28 面试题
幼教个人求职信范文
2013/12/02 职场文书
修理厂厂长岗位职责
2014/01/30 职场文书
《花木兰》教学反思
2014/04/09 职场文书
高中生操行评语大全
2014/04/25 职场文书
实习班主任自我评价
2015/03/11 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
开学典礼致辞
2015/07/29 职场文书
如何写好开幕词?
2019/06/24 职场文书