AngularJS通过为开发者呈现一个更高层次的抽象来简化应用的开发。如同其他的抽象技术一样,这也会损失一部分灵活性。换句话说,并不是所有的应用都适合用AngularJS来做。AngularJS主要考虑的是构建CRUD应用。幸运的是,至少90%的WEB应用都是CRUD应用。但是要了解什么适合用AngularJS构建,就得了解什么不适合用AngularJS构建。
如游戏,图形界面编辑器,这种DOM操作很频繁也很复杂的应用,和CRUD应用就有很大的不同,它们不适合用AngularJS来构建。像这种情况用一些更轻量、简单的技术如jQuery可能会更好。
第一 迭代输出之ng-repeat标签
ng-repeat让table ul ol等标签和js里的数组完美结合
<ul> <li ng-repeat="person in persons"> {{person.name}} is {{person.age}} years old. </li> </ul>
你甚至可以指定输出的顺序:
<li ng-repeat="person in persons | orderBy:'name'">
第二 动态绑定之ng-model标签
任何有用户输入,只要是有值的html标签,都可以动态绑定js中的变量,而且是动态绑定。
<input type="text" ng-model='password'>
对于绑定的变量,你可以使用{{}} 直接引用
<span>you input password is {{password}}</span>
如果你熟悉fiter,你可以很容易的按你的需要格式输出
<span>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}</span>
第三 绑定点击事件之ng-click事件
使用ng-click你可以很容易的为一个标签绑定点击事件。
<button ng-click="pressMe()"/>
当然前提是你要在$scope域中定义的自己的pressMe方法。
和传统的onclick方法不同,你甚至可以为ng-click方法传递一个对象,就像这样:
<ul> <li ng-repeat="person in persons"> <button ng-click="printf(person)"/> </li> </ul>
当然还有ng-dblclick标签
第四 分支语句之ng-switch on、ng-if/ng-show/ng-hide/ng-disabled标签
分支语句让你在界面上都可以写逻辑判断。
<ul> <li ng-repeat="person in persons"> <span ng-switch on="person.sex"> <span ng-switch-when="1">you are a boy</span> <span ng-switch-when="2">you are a girl</span> </span> <span ng-if="person.sex==1">you may be a father</span> <span ng-show="person.sex==2">you may be a mother</span> <span> please input your baby's name:<input type="text" ng-disabled="!person.hasBaby"/> </span> <span> </li> </ul>
第五 校验语法之ng-trim ng-minlength ng-maxlength required ng-pattern 等标签
表单中的输入框,你可以使用上面的标签来实现对用户输入的校验。
从字面意思上你已经知道了它们的意思。
<form name="yourForm"> <input type="text" name="inputText" required ng-trim="true" ng-model="userNum" ng-pattern="/^[0-9]*[1-9][0-9]*$/" ng-maxlength="6" maxlength="6"/> </form>
你可以通过 $scope.yourForm.inputText.$error.required 来判断输入框是否为空
你可以通过 $scope.yourForm.inputText.$invalid 来判断输入的内容是否满足ng-pattern,ng-maxlength,maxlength
你通过$scope.userNum获得的输入内容是去掉前后空白的,因为ng-trim的存在。
第六 下拉框之ng-options标签
ng-options是为下拉框专门打造的标签。
<select ng-model="yourSelected" ng-options="person.id as person.name in persons"></select>
下拉框中显示的是person.name,当你选中其中一个的时候,你可以通过yourSelected得到你选中的person.id.
第七 控制css之ng-style标签
ng-style帮你轻松控制你的css属性
<span ng-style="myColor">your color</span>
你可以通过给myColor赋值的形式来改变你想要的效果,就像这样:
$scope.myColor={color:'blue'}; $scope.myColor={cursor: 'pointer',color:'blue'};
第八 异步请求之$http对象。
AngularJS 提供了一个类似jquery的$.ajax的对象,用于异步请求。
在AngularJS中对异步操作是推崇至极的,所以$http的操作都是异步的不像jquery.ajax里还提供了async参数。
$http({method : 'POST',params : { id:123}, data:{name:'john',age:27}, url : "/mypath"}) .success(function(response, status, headers, config){ //do anything what you want; }) .error(function(response, status, headers, config){ //do anything what you want; });
如果你是POST请求,params里的数据会帮你拼到url后面,data里的数据会放到请求体中。
以上给大家分享了八种AngularJS 最常用的功能,希望对大家有所帮助!
本文向大家介绍AngularJS 最常用的八种功能(基础知识),包括了AngularJS 最常用的八种功能(基础知识)的使用技巧和注意事项,需要的朋友参考一下 AngularJS 使用基础知识 第一 迭代输出之ng-repeat标签 ng-repeat让table ul ol等标签和js里的数组完美结合 你甚至可以指定输出的顺序: 第二 动态绑定之ng-model标签 任何有用户输入,只要是有值的
本文向大家介绍Android EditText常用属性功能汇总,包括了Android EditText常用属性功能汇总的使用技巧和注意事项,需要的朋友参考一下 本文总结分析了Android EditText常用属性。分享给大家供大家参考,具体如下: android:hint="请输入数字!"//设置显示在空间上的提示信息 android:numeric="integer"//设置只能输入整数,如果
#开头的表示注释 1. 绑定转发 ## disable,对某些域名不拦截 ## 一般放到 Default 分组 /wx.qq.com/ disable://intercept ## filter,在Network不会出现某些域名的请求 /qq.com/ filter://hide ## socks ## 一般放到 Default 分组 /facebook/ socks://127.0.0.1:1
问题内容: 我正在尝试在angularJS中实现一个简单的计时器。但是,尽管每个人都建议超时功能不起作用。 当我注释掉“ $ timeout(countUp,500);”时 行,代码可以正常工作,但计时器不起作用。我还需要添加其他JavaScript文件吗? 提前致谢。 问题答案: 您必须将服务注入控制器
本文向大家介绍seajs中最常用的7个功能、配置示例,包括了seajs中最常用的7个功能、配置示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了seajs中最常用的7个功能、配置。分享给大家供大家参考,具体如下: 1. seajs.config 2. seajs.use 用来在页面中加载一个或多个模块 3. define 用来定义模块。 4. require 用来获取指定模块的接口 5.
本文向大家介绍简介AngularJS的视图功能应用,包括了简介AngularJS的视图功能应用的使用技巧和注意事项,需要的朋友参考一下 AngularJS支持通过在单个页面上的多个视图的单页应用。要做到这一点AngularJS提供ng-view 和 ng-template指令,以及 $routeProvider 服务。 ng-view ng-view 标记只是简单地创建一个占位符,是一个相应的视