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_12_执行模型浅析
Oct 18 Javascript
js修改地址栏URL参数解决url参数问题
Dec 15 Javascript
6款新颖的jQuery和CSS3进度条插件推荐
Mar 05 Javascript
将HTML格式的String转化为HTMLElement的实现方法
Aug 07 Javascript
详解JavaScript的流程控制语句
Nov 30 Javascript
Ajax实现不刷新取最新商品
Mar 01 Javascript
基于webpack 实用配置方法总结
Sep 28 Javascript
vue项目引入Iconfont图标库的教程图解
Oct 24 Javascript
详解Vue中使用插槽(slot)、聚类插槽
Apr 12 Javascript
layui时间控件选择时间范围的实现方法
Sep 28 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
Aug 12 Javascript
vue特效之翻牌动画
Apr 20 Vue.js
模仿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
深入file_get_contents与curl函数的详解
2013/06/25 PHP
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
DWR Ext 加载数据
2009/03/22 Javascript
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
flexigrid 参数说明
2010/11/23 Javascript
学习javascript,实现插入排序实现代码
2011/07/31 Javascript
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
2013/05/03 Javascript
javascript(js)的小数点乘法除法问题详解
2014/03/07 Javascript
node.js中的http.request.end方法使用说明
2014/12/10 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
vue 使某个组件不被 keep-alive 缓存的方法
2018/09/21 Javascript
Vue中的vue-resource示例详解
2018/11/02 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
Vue2.0 ES6语法降级ES5的操作
2020/10/30 Javascript
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
python使用cStringIO实现临时内存文件访问的方法
2015/03/26 Python
python实现中文转换url编码的方法
2016/06/14 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
Django中多种重定向方法使用详解
2019/07/17 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
Python远程方法调用实现过程解析
2020/07/28 Python
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
潘多拉意大利官方网上商城:网上选购PANDORA珠宝
2018/10/07 全球购物
珍珠奶茶店创业计划书
2014/01/11 职场文书
主题酒店策划书
2014/01/28 职场文书
社区八一活动方案
2014/02/03 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
爱心捐书倡议书
2015/04/27 职场文书
教育教学工作反思
2016/02/24 职场文书
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android