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技术-屏蔽类
Aug 15 Javascript
jQuery 剧场版 你必须知道的javascript
May 27 Javascript
使用 Node.js 做 Function Test实现方法
Oct 25 Javascript
jquery实现的图片点击滚动效果
Apr 29 Javascript
javascript通过元素id和name直接取得元素的方法
Apr 28 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
Aug 24 Javascript
js鼠标点击图片切换效果代码分享
Aug 26 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
Aug 24 Javascript
vue中component组件的props使用详解
Sep 04 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
Mar 14 Javascript
浅谈js闭包理解
Apr 01 Javascript
JS实现手风琴特效
Nov 08 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 Session会话超时时间设置方法
2014/06/10 PHP
CodeIgniter分页类pagination使用方法示例
2016/03/28 PHP
php 如何获取文件的后缀名
2016/06/05 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
关于php unset对json_encode的影响详解
2018/11/14 PHP
实例讲解php将字符串输出到HTML
2019/01/27 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
图片自动缩小 点击放大
2008/07/07 Javascript
用JavaScript显示随机图像或引用
2009/04/21 Javascript
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
js模拟淘宝网的多级选择菜单实现方法
2015/08/18 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
2016/06/06 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
2018/07/05 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
2020/09/16 Javascript
详解如何在Apache中运行Python WSGI应用
2019/01/02 Python
python版DDOS攻击脚本
2019/06/12 Python
Python 写入训练日志文件并控制台输出解析
2019/08/13 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
python中pyplot基础图标函数整理
2020/11/10 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
巴西图书和电子产品购物网站:Saraiva
2017/06/07 全球购物
Java中实现多态的机制
2015/08/09 面试题
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
国培远程培训感言
2014/03/08 职场文书
行政专员求职信范文
2014/05/03 职场文书
物业管理专业自荐信
2014/07/01 职场文书
2015年小学教导处工作总结
2015/05/26 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
P站美图推荐——变身女主角特辑
2022/03/20 日漫