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 验证上传图片大小[客户端]
Aug 01 Javascript
js 函数的执行环境和作用域链的深入解析
Nov 01 Javascript
js打印纸函数代码(递归)
Jun 18 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
Dec 08 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
Aug 23 Javascript
Node.js实现数据推送
Apr 14 Javascript
简单讲解jQuery中的子元素过滤选择器
Apr 18 Javascript
快速使用Bootstrap搭建传送带
May 06 Javascript
详解javascript中的Error对象
Apr 25 Javascript
详解基于Vue/React项目的移动端适配方案
Aug 23 Javascript
简单了解Vue + ElementUI后台管理模板
Apr 07 Javascript
原生JavaScript实现留言板
Jan 10 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 获得汉字拼音首字母的函数
2009/08/01 PHP
php中去除所有js,html,css代码
2010/10/12 PHP
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
php错误日志简单配置方法
2016/07/11 PHP
PHP对象、模式与实践之高级特性分析
2016/12/08 PHP
PHP7新特性
2021/03/09 PHP
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
2015/02/23 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
Javascript基础之数组的使用
2016/05/13 Javascript
vue使用drag与drop实现拖拽的示例代码
2017/09/07 Javascript
vue 添加vux的代码讲解
2017/11/30 Javascript
Vue.js单向绑定和双向绑定实例分析
2018/08/14 Javascript
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
jQuery实现飞机大战小游戏
2020/07/05 jQuery
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
python实现rest请求api示例
2014/04/22 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
PyQt5每天必学之拖放事件
2020/08/27 Python
python和shell监控linux服务器的详细代码
2018/06/22 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
查看keras各种网络结构各层的名字方式
2020/06/11 Python
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
澳洲最大的时尚奢侈品电商平台:Cettire
2020/06/15 全球购物
机械工程系毕业生求职信
2013/09/27 职场文书
协议书格式
2014/04/23 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
寒假社会实践个人总结
2015/03/06 职场文书
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
前端JavaScript大管家 package.json
2021/11/02 Javascript
vue实现列表垂直无缝滚动
2022/04/08 Vue.js
Mysql开启外网访问
2022/05/15 MySQL