国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Angular.js中ng-include用法及多標(biāo)簽頁面的實(shí)現(xiàn)方式詳解

2019-11-19 16:39:00
字體:
供稿:網(wǎng)友

前言

大家在平時(shí)的項(xiàng)目開發(fā)中,應(yīng)該會(huì)經(jīng)常遇到上圖所示的需求,就是在一個(gè)頁面中有多個(gè)標(biāo)簽,被選中的標(biāo)簽顏色會(huì)高亮顯示,切換不同標(biāo)簽顯示相應(yīng)的不同內(nèi)容。如果內(nèi)容代碼過多則寫在同一個(gè)html文件就會(huì)顯得特別亂,所以這里我們最好把頁面代碼分開單獨(dú)管理,controller也可以分開來管理,這樣就會(huì)顯得清楚的多。

這里就要使用到Angularjs中個(gè)ng-include指令。下面來看看詳細(xì)的介紹:

一、多標(biāo)簽的編寫

首先需要了解需求:

      1.同時(shí)只能選中一個(gè)標(biāo)簽

     2.被選中的標(biāo)簽背景色以及自體顏色都將改變。

第一個(gè)需求我們可以使用一個(gè)flag變量來控制,即一個(gè)是flag另一個(gè)則是!flag。而第二個(gè)需求則可以使用ng-class指令來完成,提前把兩個(gè)樣式的class寫好,通過ng-class來判斷何時(shí)顯示何種樣式即可。

這里我把所有的邏輯代碼都寫在了HTML頁面中,首先在頁面初始化的時(shí)候使用ng-init指令初始化一個(gè)flag變量,使用ng-class綁定不同的樣式,然后使用ng-click事件來動(dòng)態(tài)改變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的使用

多標(biāo)簽button編寫好了,需要對(duì)點(diǎn)擊的button展示對(duì)應(yīng)的頁面內(nèi)容,這里使用ng-include來管理代碼。如下:

<ion-content class="has-subheader"> <div ng-show="test" ng-include="'template/template1.html'">這里不管寫什么都不會(huì)展示,完全被ng-include取代</div> <div ng-show="!test" ng-include="'template/template2.html'"></div></ion-content>

這里我使用的是ng-show,即在頁面加載的時(shí)候就把全部的內(nèi)容加載完畢了,可以起到一個(gè)預(yù)加載的效果,當(dāng)然,如果需要點(diǎn)擊對(duì)應(yīng)button的時(shí)候再展示相應(yīng)的內(nèi)容則可以使用ng-if,效果一樣。

ng-include后面寫的是html文件對(duì)應(yīng)的url地址,是相對(duì)于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>

我對(duì)template1進(jìn)行了單獨(dú)的controller管理,Ctrl代碼為:

angular.module('includeExample', ['ionic']) .controller('template1Controller', ['$scope', function ($scope) { $scope.tests = [  {  name: 'test1'  }, {  name: 'test2'  }, {  name: 'test3'  } ] }]);

到這,Ng-Include的用法大概就說完了,我覺得在項(xiàng)目的開發(fā)中還是比較有用的,分開管理邏輯和頁面都會(huì)比較清晰,也會(huì)在一定程度上提高開發(fā)效率。

效果為:

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者使用Angular.js能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)武林網(wǎng)的支持。
       

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 察雅县| 雷州市| 镇雄县| 福州市| 留坝县| 洪泽县| 新乡县| 华安县| 天门市| 克拉玛依市| 灵台县| 道真| 无锡市| 马龙县| 富民县| 平武县| 阿城市| 疏勒县| 榆社县| 淳安县| 江安县| 安塞县| 沧源| 浪卡子县| 宁夏| 闽侯县| 安庆市| 和林格尔县| 凭祥市| 离岛区| 桦川县| 黄龙县| 遂川县| 密云县| 蒙自县| 吐鲁番市| 永清县| 本溪市| 盈江县| 宁化县| 图片|