原文地址:Ionic最佳實(shí)踐-使用模態(tài)窗口modal
在中山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作專業(yè)公司,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)整合營(yíng)銷推廣,成都外貿(mào)網(wǎng)站制作,中山網(wǎng)站建設(shè)費(fèi)用合理。在Ionic中,模態(tài)窗口通過$ionicModal提供。他易于使用且非常強(qiáng)大,詳細(xì)信息請(qǐng)參考$ionicModal文檔。Ionic中的模態(tài)窗口可以使用模板字符串或URL創(chuàng)建。本文將使用URL。
模態(tài)窗口創(chuàng)建時(shí)綁定到一個(gè)scope,這個(gè)scope可以用來傳遞數(shù)據(jù)。然而,在更復(fù)雜的情況下,通過服務(wù)來訪問共享數(shù)據(jù)是最好的做法。
創(chuàng)建模態(tài)窗口非常簡(jiǎn)單。首先,讓我們來創(chuàng)建我們的用戶界面。這個(gè)小例子將會(huì)展示一條聯(lián)系人信息,點(diǎn)擊后允許對(duì)它進(jìn)行編輯。
<ion-header-bar class="bar-energized"> <h2 class="title">Contact Info</h2> </ion-header-bar> <ion-content> <div class="card" ng-controller='MainCtrl' ng-click="openModal()"> <div class="item item-divider"> `contact`.`name` </div> <div class="item item-text-wrap"> `contact`.`info` </div> </div> </ion-content>
現(xiàn)在,看起來還沒有什么特別的,唯一與模態(tài)窗口相關(guān)的是一個(gè)scope函數(shù):openModal()。還缺少我們的modal部分。直接在當(dāng)前標(biāo)記中添加它。
<script id="contact-modal.html" type="text/ng-template"> <div class="modal"> <ion-header-bar> <h2 class="title">Edit Contact</h2> </ion-header-bar> <ion-content> <div class="list"> <label class="item item-input"> <span class="input-label">Name</span> <input type="text" ng-model="contact.name"> </label> <label class="item item-input"> <span class="input-label">Info</span> <input type="text" ng-model="contact.info"> </label> </div> <button class="button button-full button-energized" ng-click="closeModal()">Done</button> </ion-content> </div> </script>
在生產(chǎn)環(huán)境中,你可能想把模板標(biāo)記放入獨(dú)立文件中或把它們添加到模板緩存中。與Ionic中其他使用模板的部分一樣,Angular將先從模板緩存中搜索需要的文件。
模態(tài)窗口的控制器代碼非常簡(jiǎn)單。確保在控制器中注入依賴項(xiàng)$ionicModal。
app.controller('MainCtrl', function($scope, $ionicModal) { $scope.contact = { name: 'Mittens Cat', info: 'Tap anywhere on the card to open the modal' } $ionicModal.fromTemplateUrl('contact-modal.html', { scope: $scope, animation: 'slide-in-up' }).then(function(modal) { $scope.modal = modal }) $scope.openModal = function() { $scope.modal.show() } $scope.closeModal = function() { $scope.modal.hide(); }; $scope.$on('$destroy', function() { $scope.modal.remove(); }); })
Ionic的模態(tài)窗口使用了一個(gè)異步deferred。這樣可以異步訪問模板緩存和構(gòu)建模態(tài)窗口。我們可以為模態(tài)窗口提供一個(gè)scope對(duì)象,否則他將使用$rootScope。可以為模態(tài)窗口的打開動(dòng)作指定過度動(dòng)畫效果。官方文檔中描述了更多過度效果。
一旦模態(tài)窗口構(gòu)建完畢,異步完成函數(shù)允許我們?cè)O(shè)置一個(gè)$scope.modal變量。模態(tài)窗口有一些函數(shù)。在本例中,我們關(guān)心show, hide和remove函數(shù)。remove函數(shù)特別重要。通過監(jiān)聽scope對(duì)象的$destroy事件,我們可以確保對(duì)模態(tài)窗口對(duì)象進(jìn)行垃圾回收。忽略它將會(huì)導(dǎo)致你的程序出現(xiàn)內(nèi)存泄漏。
模態(tài)窗口是一個(gè)很強(qiáng)大的用戶界面組件,通過Ionic來展現(xiàn)和利用它是一件很輕松的事情。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。
文章名稱:Ionic最佳實(shí)踐-使用模態(tài)窗口modal-創(chuàng)新互聯(lián)
鏈接地址:http://aaarwkj.com/article20/jcgco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、微信小程序、企業(yè)建站、手機(jī)網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容