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 流畅动画实现原理
Sep 08 Javascript
ie中js创建checkbox默认选中问题探讨
Oct 21 Javascript
JavaScript原型链示例分享
Jan 26 Javascript
VS2008中使用JavaScript调用WebServices
Dec 18 Javascript
javascript日期计算实例分析
Jun 29 Javascript
超实用的JavaScript表单代码段
Feb 26 Javascript
javascript实现标签切换代码示例
May 22 Javascript
js实现点击每个li节点,都弹出其文本值及修改
Dec 15 Javascript
微信小程序 地图map详解及简单实例
Jan 10 Javascript
实例解析js中try、catch、finally的执行规则
Feb 24 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
Oct 16 Javascript
vue使用element-ui实现表单验证
Dec 13 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
说明的比较细的php 正则学习实例
2008/07/30 PHP
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
yii实现CheckBox复选框在同一行显示的方法
2014/12/03 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
php array 转json及java 转换 json数据格式操作示例
2019/11/13 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
使用JavaScript动态设置样式实现代码及演示动画
2013/01/25 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
PHP PDO操作总结
2014/11/17 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
2017/06/13 jQuery
详解Angular的8个主要构造块
2017/06/20 Javascript
教你搭建按需加载的Vue组件库(小结)
2019/07/29 Javascript
基于JavaScript 实现拖放功能
2019/09/12 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
微信小程序实现签字功能
2019/12/23 Javascript
vue表单验证之禁止input输入框输入空格
2020/12/03 Vue.js
Python基于DES算法加密解密实例
2015/06/03 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
Python模块结构与布局操作方法实例分析
2017/07/24 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
python模块smtplib学习
2018/05/22 Python
python使用Matplotlib绘制分段函数
2018/09/25 Python
tensorflow 实现自定义梯度反向传播代码
2020/02/10 Python
澳大利亚网上书店:QBD
2021/01/09 全球购物
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
学习2014年全国两会心得体会
2014/03/12 职场文书
英语故事演讲稿
2014/04/29 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
小学教研工作总结2015
2015/05/13 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
实习报告范文之电话客服岗位
2019/07/26 职场文书