Angular.js中ng-include用法及多标签页面的实现方式详解


Posted in Javascript onMay 07, 2017

前言

大家在平时的项目开发中,应该会经常遇到上图所示的需求,就是在一个页面中有多个标签,被选中的标签颜色会高亮显示,切换不同标签显示相应的不同内容。如果内容代码过多则写在同一个html文件就会显得特别乱,所以这里我们最好把页面代码分开单独管理,controller也可以分开来管理,这样就会显得清楚的多。

这里就要使用到Angularjs中个ng-include指令。下面来看看详细的介绍:

一、多标签的编写

首先需要了解需求:

      1.同时只能选中一个标签

     2.被选中的标签背景色以及自体颜色都将改变。

第一个需求我们可以使用一个flag变量来控制,即一个是flag另一个则是!flag。而第二个需求则可以使用ng-class指令来完成,提前把两个样式的class写好,通过ng-class来判断何时显示何种样式即可。

这里我把所有的逻辑代码都写在了HTML页面中,首先在页面初始化的时候使用ng-init指令初始化一个flag变量,使用ng-class绑定不同的样式,然后使用ng-click事件来动态改变flag。

代码如下:

<ion-view ng-init="test=true">
 <div class="bar bar-header bar-royal">
 <div class="title">Test</div>
 </div>
 <div class="bar bar-subheader">
 <div class="button-bar">
  <a class="button" ng-class="test?'button-positive':''" ng-click="test=true">button1</a>
  <a class="button" ng-class="!test?'button-positive':''" ng-click="test=false">button2</a>
 </div>
 </div>
 <ion-content class="has-subheader">
  </ion-content>
</ion-view>

二、Ng-Include的使用

多标签button编写好了,需要对点击的button展示对应的页面内容,这里使用ng-include来管理代码。如下:

<ion-content class="has-subheader">
 <div ng-show="test" ng-include="'template/template1.html'">这里不管写什么都不会展示,完全被ng-include取代</div>
 <div ng-show="!test" ng-include="'template/template2.html'"></div>
</ion-content>

这里我使用的是ng-show,即在页面加载的时候就把全部的内容加载完毕了,可以起到一个预加载的效果,当然,如果需要点击对应button的时候再展示相应的内容则可以使用ng-if,效果一样。

ng-include后面写的是html文件对应的url地址,是相对于index.html的地址。

来看一下template1的代码:

<div ng-controller="template1Controller">
 <div class="row">
 <div class="col text-center" ng-repeat="x in tests">{{x.name}}</div>
 </div>
</div>

我对template1进行了单独的controller管理,Ctrl代码为:

angular.module('includeExample', ['ionic'])
 .controller('template1Controller', ['$scope', function ($scope) {
 $scope.tests = [
  {
  name: 'test1'
  }, {
  name: 'test2'
  }, {
  name: 'test3'
  }
 ]
 }]);

到这,Ng-Include的用法大概就说完了,我觉得在项目的开发中还是比较有用的,分开管理逻辑和页面都会比较清晰,也会在一定程度上提高开发效率。

效果为:

Angular.js中ng-include用法及多标签页面的实现方式详解

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用Angular.js能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。
       

Javascript 相关文章推荐
getElementById在任意一款浏览器中都可以用吗的疑问回复
May 13 Javascript
Jquery 表单验证类介绍与实例
Jun 09 Javascript
Ext JS添加子组件的误区探讨
Jun 28 Javascript
JavaScript中实现sprintf、printf函数
Jan 27 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
Dec 23 Javascript
js实现图片无缝滚动特效
Mar 19 Javascript
seajs学习教程之基础篇
Oct 20 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
Nov 13 Javascript
浅谈AngularJS中$http服务的简单用法
May 15 Javascript
详解vue-cli下ESlint 配置说明
Sep 03 Javascript
Vue 重置组件到初始状态的方法示例
Oct 10 Javascript
vue 实现tab切换保持数据状态
Jul 21 Javascript
JavaScript的继承实现小结
May 07 #Javascript
vue2.0多条件搜索组件使用详解
Mar 26 #Javascript
Vue 进阶教程之v-model详解
May 06 #Javascript
jQuery动态追加页面数据以及事件委托详解
May 06 #jQuery
AngularJS封装$http.post()实例详解
May 06 #Javascript
JavaScript瀑布流布局实现代码
May 06 #Javascript
jquery点赞功能实现代码 点个赞吧!
May 29 #jQuery
You might like
菜鸟学PHP之Smarty入门
2007/01/04 PHP
PHP 数组实例说明
2008/08/18 PHP
php的urlencode()URL编码函数浅析
2011/08/09 PHP
php线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
Codeigniter检测表单post数据的方法
2015/03/21 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
JavaScript 实现模态对话框 源代码大全
2009/05/02 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
JavaScript中exec函数用法实例分析
2015/06/08 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
webstorm中vue语法的支持详解
2018/05/09 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
详解Vue.js在页面加载时执行某个方法
2018/11/20 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
python中join()方法介绍
2018/10/11 Python
python消费kafka数据批量插入到es的方法
2018/12/27 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
英国护肤品购物网站:Beauty Expert
2016/08/19 全球购物
全球性的在线婚纱礼服工厂:27dress.com
2019/03/21 全球购物
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
旷课检讨书大全
2014/01/21 职场文书
班组长岗位职责
2014/03/03 职场文书
金融管理专业毕业生求职信
2014/03/12 职场文书
公司联欢会策划方案
2014/05/19 职场文书
廉洁校园实施方案
2014/05/25 职场文书
大学迎新生标语
2014/10/06 职场文书
列车乘务员工作不细心检讨书
2014/10/07 职场文书
商业门面租房协议书
2014/11/25 职场文书
2014年生产管理工作总结
2014/12/23 职场文书
全陪导游词开场白
2015/05/29 职场文书
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python