使用Angularjs需要注意的一些东西

写在前面——真心没时间精力仔细总结了,先放这儿,有空再细化~~~~~~~~

近期一直在玩Angularjs,不得不说,相对于Knockout,Angularjs这一MVVM框架更强大,也更复杂,各种教程网上到处都是,不过真正用到项目的时候会遇到各种坑。

这儿有一篇Think in Angularjs主要讲的是Angularjs思想等,对于我们用过若干年Jquery的人来说有些思想确实和Angularjs有不一样,不过可能有些方面有点过于理想化了,或者说如果要做到Think in Angularjs需要对Angularjs理解比较透彻,个人见解。

一方面由于许多东西在用的时候理解的不甚透彻,另一方面由于在现有的项目中,很难把所有东西都按照Angularjs的写法来做。在享受Angularjs带来的数据绑定&交互的方便的同时我们还需要继续使用项目中原有的UserControl、插件,那么在此过程中会遇到各种问题,现总结如下:

1.和Jquery的兼容问题,Angularjs自带jqLite,在使用过程中发现,如果项目中使用jquery-1.6.4版本,那么如果将AngularJs引用放在Jquery后面就会报错,但是Jquery-1.8之后没有这个问题。

2.和Jquery-ui-dialog结合使用的问题,项目中会经常用到各种模态框,其实个人感觉最好的方式就是用一套采用Angularjs编写的组件/插件,ui bootstrap是目前我见过写的最好的。不过这个是理想的状态,奈何项目中一直习惯使用Jquery-ui-dialog,那么在使用的过程中就会遇到问题,问题描述出来可能比较繁琐,如下:

假设页面有一个产品列表,点击产品名称要展示相应的产品详情:

  1. 1.angularjs vs jquery 1.6.4
    2.jquery ui dialog 脱离了controller
    3.加载时机问题
    4.$timeout要想清楚 回来后。。 select init
    bind trigger 第三方调$scope内部方法 http://www.html-js.com/article/Using-Angular-to-develop-web-applications-use-AngularJS-to-create-a-pre-input-plugins
    5.date:‘yyyy-MM-dd HH:mm:ss‘ 格式化 截断
    6.IE(9)缓存
    7.IE8 兼容问题(不支持自定义标签)http://rritw.com/a/bianchengyuyan/JS/2014/0405/488748.html: <!--[if lte IE 8]>
    <script>
    document.createElement(‘radio-list‘);
    </script>
    <![endif]-->
    8.闪烁 {{}}->ng-bind
    9.//# sourceMappingURL=angular.min.js.map

    10.$http post
    11.track by $index
    12.自定义的不能用 ng-前缀 否则会报错Error: [$compile:ctreq]
    13.ng-repeat 原list不存在的情况 添加无反应 参见autoList currTopicModel.TopicCategories.push({ Tags: [] });

使用Angularjs需要注意的一些东西

时间: 2024-11-10 17:12:34

使用Angularjs需要注意的一些东西的相关文章

AngularJS笔记---路由视图

最近有同事提到过关于ng-view的使用, 其实自己也不懂了,由于最近一直在做AngularJs的Rearch,所以就看了一些关于ng-view的国外博客. 做过ASP.NET MVC4的都知道, 我们会有一个对应的controller和views,还有一个routerconfig. 其实在AngularJS也有类似的东西.下面我会按照Asp.net的MVC框架搭建一个AngularJs的小Demo出来. 一.创建文件目录: A. Controller文件夹放ng-controller的代码 B

转:在控制台中调试AngularJS应用

在控制台中调试AngularJS应用 在创建AngularJS应用时,一个很棘手的问题是如何在Chrome,Firefox,以及IE的JavaScript控制台中访问深藏在应用中的数据和服务.本文将会介绍一些如何从JavaScript控制台中监视和控制AngularJS应用的小技巧,来帮助你更加轻松的对AngularJS进行实时的测试修改. 1:访问作用域 我们可以使用一行简单的JS代码来访问任何作用域(甚至是独立的作用域): > angular.element(targetNode).scop

关于javasciprt导出excel 前言

由于华为监控平台项目,需要做些导出工作.但是一开始的数据一般会以table的形式显示一次,意味着数据已经到了前端.所以在用POI处理一次重复的逻辑显得很愚蠢,这且这些关乎缓存机制.如果能在前台直接导出excel,显得方便又简洁. 由于研究很多前台导出方案,对于实现复杂的excel导出都比较麻烦,如果前端有个脚本能够像POI一样简洁,支持angular1 angular2 angular4等,是多么方便和幸福的事情. 对于很多系统方案中,我发现什么放前端什么放后端这种界限会越来越模糊,所以一个全栈

2016总结 wjwdive

2016 成长:收获最大的,学会了耐心,学会了宽容,学会了不强求.一念放下,万般自在.我真的是晚熟啊 ^_^! . 读书:<小王子>.<了不起的盖茨比>.<和任何人都聊得来>.<iOS进阶>-巧神.<iOS高级编程-多线程编程>.<effective Objective-C>.<精通iOS编程>.博客博文无数.... 技能:iOS,自认为是入门了.理论知识预备充足,但是缺乏实践.再加上互联网寒冬,iOS开发不像前几年那么火

(转)小议创业初期的技术选择

转自:http://www.cnblogs.com/printhelloworld/p/6169271.html 我公司曾经拓展过一项外包业务,帮助硅谷没有技术能力的创业团队,在1个月内以3万美元不到的价格快速打造Web.移动Web.App以及对应的Web管理平台,使得他们能够从较为困难的天使融资阶段快速的进入PreA运维并进一步拿到A轮融资,这项业务的背后其实是小型创业团队在创业初期面临的一个重要问题:如何选择合适的技术来优化.助推创业过程. 那么今天我想和大家聊一聊这个话题:当小团队或者个人

2016.6.18-2016.6.24

写在前面: 谢谢诸位前辈的声援,超感动,这周继续哈.嘻嘻. 直都在找关于前段都该学什么,学习顺序是什么,那,我把我了解到的,我的觉得不错的顺序分享给大家: 第一部分 html css javascript DOM编程 网页分析 第二部分 UI交互设计 http协议 服务端 html精通 ajax 第三部分 jQuery bootstrap AngularJS 所以要学的东西要很多,给自己加个油. 这次总结是关于表格和表单的 表格标签:可以在网页建一个表格,以前用于网页设计,现在用div+css.

Angularjs真是个好东西

事件篇: 实例:(点击按钮内容加1) <!DOCTYPE html><html><head><meta charset="utf-8"><script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script></head><body ng-app=""> <

前端angularJS利用directive实现移动端自定义软键盘的方法

最近公司项目的需求上要求我们iPad项目上一些需要输入数字的地方用我们自定义的软键盘而不是移动端设备自带的键盘,刚接到需求有点懵,因为之前没有做过,后来理了一下思路发现这东西也就那样.先看一下实现之后的效果: 实现的效果就是当点击页面中需要弹出软键盘的时候软键盘弹出,浮在页面的中间,和模态框一样的效果,可以在软键盘中输入任何数字,附带的功能有小数点.退格.清空.确定等功能.当在键盘上点击数字的时候页面中的表单中实时的添加对应的数字,上图中可以看到. 产品经理那边给的原因是iPad屏幕本来就小,如

angularJs项目实战!01:模块划分和目录组织

近日来我有幸主导了一个典型的web app开发.该项目从产品层次来说是个典型的CRUD应用,故而我毫不犹豫地采用了grunt + boilerplate + angularjs + bootstrap + D3 + requirejs 的架构来实现它.angularjs早在去年6月份我就有所接触,将它应用在实验室项目的个别页面中,11月份在新浪的时候也将其推荐给了所在云事业部项目组.项目组老大程辉等人都是很有技术敏感性的人,大胆地采纳了我的建议,将之应用于原本使用dojo开发的项目前端模块上.然