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脚本实现Web页面信息交互
Dec 21 Javascript
tbody元素支持嵌套的注意方法
Mar 24 Javascript
jquery学习笔记二 实现可编辑的表格
Apr 09 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
Jun 27 Javascript
jQuery 过滤not()与filter()实例代码
May 10 Javascript
微信小程序 配置文件详细介绍
Dec 14 Javascript
Jquery Easyui日历组件Calender使用详解(23)
Dec 18 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
Dec 31 Javascript
微信小程序获取微信运动步数的实例代码
Jul 20 Javascript
javascript实现画板功能
Apr 12 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
Oct 20 Javascript
Vue.js中v-bind指令的用法介绍
Mar 13 Vue.js
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
日本十大最佳动漫,全都是二次元的神级作品
2019/10/05 日漫
PHP中的事务使用实例
2015/05/26 PHP
Zend Framework教程之资源(Resources)用法实例详解
2016/03/14 PHP
php打乱数组二维数组多维数组的简单实例
2016/06/17 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
window.open的功能全解析
2006/10/10 Javascript
javascript tips提示框组件实现代码
2010/11/19 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
js简单实现交换Li的值
2014/05/22 Javascript
Windows系统下Node.js的简单入门教程
2015/06/23 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
微信小程序使用第三方库Underscore.js步骤详解
2016/09/27 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
全新打包工具parcel零配置vue开发脚手架
2018/01/11 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
webpack常用配置总览(小结)
2019/11/18 Javascript
小程序双头slider选择器的实现示例
2020/03/31 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
python黑魔法之编码转换
2016/01/25 Python
Python3常见函数range()用法详解
2019/12/30 Python
python中with用法讲解
2020/02/07 Python
Django中使用Json返回数据的实现方法
2020/06/03 Python
纯CSS实现聊天框小尖角、气泡效果
2014/04/04 HTML / CSS
浅析HTML5的WebSocket与服务器推送事件
2016/02/19 HTML / CSS
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
致共产党员倡议书
2014/04/16 职场文书
办公室主任竞聘演讲稿
2014/05/15 职场文书
代理人委托书
2014/09/16 职场文书
会议欢迎词
2015/01/23 职场文书
我的1919观后感
2015/06/03 职场文书
人间正道是沧桑观后感
2015/06/15 职场文书
创业计划书介绍
2019/04/24 职场文书
Go 语言下基于Redis分布式锁的实现方式
2021/06/28 Golang
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技