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时区函数介绍
Sep 14 Javascript
Jquery事件的连接使用示例
Jun 18 Javascript
javaScript实现滚动新闻的方法
Jul 30 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
Oct 23 Javascript
jQuery语法小结(超实用)
Dec 31 Javascript
js实现3D图片展示效果
Mar 09 Javascript
angularJs的ng-class切换class
Jun 23 Javascript
JavaScript 通过Ajax 动态加载CheckBox复选框
Aug 31 Javascript
AngularJS中下拉框的基本用法示例
Oct 11 Javascript
layer ui 导入文件之前传入数据的实例
Sep 23 Javascript
Vue中keep-alive组件作用详解
Feb 04 Javascript
微信小程序swiper组件实现抖音翻页切换视频功能的实例代码
Jun 24 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 应用程序安全防范技术研究
2009/09/25 PHP
php debug 安装技巧
2011/04/30 PHP
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
php源码的安装方法和实例
2019/09/26 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
2009/12/28 Javascript
一个简单的js动画效果代码
2010/07/20 Javascript
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
jquery加载图片时以淡入方式显示的方法
2015/01/14 Javascript
学习jQuey中的return false
2015/12/18 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
JavaScript函数节流和函数防抖之间的区别
2017/02/15 Javascript
详解Angular-cli生成组件修改css成less或sass的实例
2017/07/27 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
2020/03/03 Javascript
Python制作刷网页流量工具
2017/04/23 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
2019/08/30 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
Python之京东商品秒杀的实现示例
2021/01/06 Python
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
Currentbody法国:健康与美容高科技产品
2020/08/16 全球购物
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
夜大毕业生自我鉴定
2013/10/31 职场文书
采购主管的岗位职责
2013/12/17 职场文书
生日礼品店创业计划书范文
2014/03/21 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
pytorch损失反向传播后梯度为none的问题
2021/05/12 Python