Angular.js回顾ng-app和ng-model使用技巧


Posted in Javascript onApril 26, 2016

Angular.js中index.html简单结构:

<!doctype html> 
<html ng-app> 
  <head> 
    <script src="http://code.angularjs.org/angular-1.0.1.min.js"></script> 
  </head> 
  <body> 
    Your name: <input type="text" ng-model="yourname" placeholder="World"> 
    <hr> 
    Hello {{yourname || 'World'}}! 
  </body> 
</html>

ng-app属性是angular.js的标志语句,它标记了angular.js的作用域。ng-app可以添加在很多地方,像上面那样添加到html标签上,说明angular脚本对整个页面都起作用。也可以在局部添加ng-app属性,比如在某一个div内添加ng-app,则表明接下来的整个div区域使用angular脚本解析,而其他位置则不适用angular脚本解析。
ng-model表示建立一个数据模型。这里在input输入姓名的输入框内,我们把该定义了一个yourname数据模型。定义了该模型后,我们可以在下面进行调用,方法是利用{{}}。这样就完成了数据绑定,当我们在输入框内输入内容时,会同步到下面的Hello语句块中。
ng-model定义的数据模型不仅可以用于上述场景,还能在许多情况下得到广泛应用。
1、设置filter,实现搜索功能
在下面的代码中,我们利用一个简单的数据模型定义+filter就可以完成一个列表搜索功能。(这是中文网上的实例代码,先不需要管不清楚的部分)

<div class="container-fluid"> 
 <div class="row-fluid"> 
  <div class="span2"> 
   Search: <input ng-model="query"> 
  </div> 
  <div class="span10"> 
   <ul class="phones"> 
    <li ng-repeat="phone in phones | filter:query"> 
     {{phone.name}} 
    <p>{{phone.snippet}}</p> 
    </li> 
   </ul> 
    </div> 
 </div> 
</div>

 上述代码中,为搜索框的input标签绑定了数据模型query。这样,用户输入的信息会被同步到query数据模型中。在下面的li中,使用filter:query就可以实现列表中的数据过滤功能,按照用户的输入信息进行filter过滤。
2、设置orderBy,实现列表排序功能
在下面的代码中,与filter同理,使用orderBy为列表添加一个排序功能:

Search: <input ng-model="query"> 
Sort by: 
<select ng-model="orderProp"> 
 <option value="name">Alphabetical</option> 
 <option value="age">Newest</option> 
</select> 
<ul class="phones"> 
 <li ng-repeat="phone in phones | filter:query | orderBy:orderProp"> 
  {{phone.name}} 
  <p>{{phone.snippet}}</p> 
 </li> 
</ul>

以上就是关于ng-app和ng-model使用技巧,温故知新,希望大家从中可以有所收获。

Javascript 相关文章推荐
用javascript动态调整iframe高度的代码
Apr 10 Javascript
Javascript 代码也可以变得优美的实现方法
Jun 22 Javascript
学习并汇集javascript匿名函数
Nov 25 Javascript
重写document.write实现无阻塞加载js广告(补充)
Dec 12 Javascript
javascript实现带节日和农历的日历特效
Feb 01 Javascript
JavaScript阻止浏览器返回按钮的方法
Mar 18 Javascript
jquery-mobile表单的创建方法详解
Nov 23 Javascript
ionic2打包android时gradle无法下载的解决方法
Apr 05 Javascript
微信小程序picker组件下拉框选择input输入框的实例
Sep 20 Javascript
js阻止默认右键的下拉菜单方法
Jan 02 Javascript
jQuery删除/清空指定元素的所有子节点实例代码
Jul 04 jQuery
vue 点击其他区域关闭自定义div操作
Jul 17 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
Apr 26 #Javascript
Bootstrap网格系统详解
Apr 26 #Javascript
Bootstrap每天必学之标签页(Tab)插件
Aug 09 #Javascript
Bootstrap按钮组件详解
Apr 26 #Javascript
Bootstrap每天必学之警告框插件
Apr 26 #Javascript
jQuery Mobile页面返回不需要重新get
Apr 26 #Javascript
jQuery 中的 DOM 操作
Apr 26 #Javascript
You might like
Zend Guard一些常见问题解答
2008/09/11 PHP
php简单socket服务器客户端代码实例
2015/05/18 PHP
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
php+ajax 文件上传代码实例
2019/03/18 PHP
Jquery 基础学习笔记之文档处理
2009/05/29 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
gridview生成时如何去掉style属性中的border-collapse
2014/09/30 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
在Vue项目中使用snapshot测试的具体使用
2019/04/16 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
python采用getopt解析命令行输入参数实例
2014/09/30 Python
快速了解Python中的装饰器
2018/01/11 Python
理论讲解python多进程并发编程
2018/02/09 Python
python pandas中DataFrame类型数据操作函数的方法
2018/04/08 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
django2.0扩展用户字段示例
2019/02/13 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
2021/01/21 Python
关于CSS Tooltips(鼠标经过时显示)的效果
2013/04/10 HTML / CSS
加拿大健康、婴儿和美容产品在线购物:Well.ca
2016/11/30 全球购物
全球性的在线购物网站:Zapals
2017/03/22 全球购物
报到证丢失证明
2014/01/11 职场文书
股份合作协议书
2014/04/12 职场文书
捐书活动倡议书
2015/04/27 职场文书
学生会招新宣传语
2015/07/13 职场文书
《西门豹》教学反思
2016/02/23 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
终止合同协议书范本
2016/03/22 职场文书
辞职信怎么写?
2019/05/21 职场文书
详细了解MVC+proxy
2021/07/09 Java/Android
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android
nginx七层负载均衡配置详解
2022/07/15 Servers