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 相关文章推荐
javascript实现数字验证码的简单实例
Feb 10 Javascript
js检测浏览器版本、核心、是否移动端示例
Apr 24 Javascript
angularjs学习笔记之双向数据绑定
Sep 26 Javascript
微信小程序 开发MAP(地图)实例详解
Jun 27 Javascript
Vue组件和Route的生命周期实例详解
Feb 10 Javascript
node中的密码安全(加密)
Sep 17 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
Feb 20 Javascript
vue柱状进度条图像的完美实现方案
Aug 26 Javascript
js实现固定区域内的不重叠随机圆
Oct 24 Javascript
js+canvas实现两张图片合并成一张图片的方法
Nov 01 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
Nov 11 Javascript
手写实现JS中的new
Nov 07 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
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
php判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
laravel学习教程之关联模型
2016/07/30 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
修改好的jquery滚动字幕效果实现代码
2011/06/22 Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
2011/10/23 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
JS中prototype的用法实例分析
2015/03/19 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
jquery.qtip提示信息插件用法简单实例
2016/06/17 Javascript
nodejs简单实现操作arduino
2016/09/25 NodeJs
详解数组Array.sort()排序的方法
2020/05/09 Javascript
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
Vue+element-ui 实现表格的分页功能示例
2018/08/18 Javascript
[03:14]DOTA2斧王 英雄基础教程
2013/11/26 DOTA
python 实现文件的递归拷贝实现代码
2012/08/02 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
利用python循环创建多个文件的方法
2018/10/25 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
keras.layer.input()用法说明
2020/06/16 Python
python爬虫使用正则爬取网站的实现
2020/08/03 Python
Selenium webdriver添加cookie实现过程详解
2020/08/12 Python
HTML5是否真的可以取代Flash
2010/02/10 HTML / CSS
企业给企业的表扬信
2014/01/13 职场文书
社区母亲节活动记录
2014/03/06 职场文书
城管大队整治方案
2014/05/06 职场文书
大学新生入学教育方案
2014/05/16 职场文书
材料员岗位职责
2015/02/10 职场文书
python 下载文件的几种方式分享
2021/04/07 Python
pytorch中的numel函数用法说明
2021/05/13 Python