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 相关文章推荐
让图片旋转任意角度及JQuery插件使用介绍
Mar 20 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
Jan 11 Javascript
分享一个自己写的简单的javascript分页组件
Feb 15 Javascript
JS 清除字符串数组中,重复元素的实现方法
May 24 Javascript
JS实现探测网站链接的方法【测试可用】
Nov 08 Javascript
JavaScript切换搜索引擎的导航网页搜索框实例代码
Jun 11 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
Oct 27 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
Feb 11 Javascript
mockjs+vue页面直接展示数据的方法
Dec 19 Javascript
通过vue手动封装on、emit、off的代码详解
May 29 Javascript
将Vue组件库更换为按需加载的方法步骤
May 06 Javascript
JavaScript实现外溢动态爱心的效果的示例代码
Mar 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
Content-type 的说明
2006/10/09 PHP
一个PHP缓存类代码(附详细说明)
2011/06/09 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
PHP函数in_array()使用详解
2014/08/20 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
让Laravel API永远返回JSON格式响应的方法示例
2018/09/05 PHP
强制设为首页代码
2006/06/19 Javascript
点图片上一页下一页翻页效果
2008/07/09 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
JS实现的简洁二级导航菜单雏形效果
2015/10/13 Javascript
理解 JavaScript Scoping &amp; Hoisting(二)
2015/11/18 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
浅谈nodejs中的类定义和继承的套路
2017/07/26 NodeJs
详解a++和++a的区别
2017/08/30 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
[02:36]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma 选手采访
2021/03/11 DOTA
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
python 实现倒排索引的方法
2018/12/25 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
python自动下载图片的方法示例
2020/03/25 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
Python数据可视化常用4大绘图库原理详解
2020/10/23 Python
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
机电一体化大学生求职信
2013/11/08 职场文书
小学生常见病防治方案
2014/06/06 职场文书
初中国旗下的演讲稿
2014/08/28 职场文书
公司领导九九重阳节发言稿2014
2014/09/25 职场文书
户外拓展训练感想
2015/08/07 职场文书
python 批量压缩图片的脚本
2021/06/02 Python