您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何在Angular-ui-中使用BootStrap組件,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
1. 關于ng-router(angular-router.js)和ui-router(angular-ui-router.js)的區別
ngroute是用AngularJS框架的路由的核心部分。
ui-router是一個社區庫,它是用來提高完善ngroute路由功能的。
實例:
使用ng-router:
首先引入js文件
<script src="js/angular.js"></script> <script src="js/angular-route.js"></script>
然后在html中
<h3>示例AngularJS 路由應用</h3> <ul> <li><a href="#/" rel="external nofollow" >首頁</a></li> // 在angular中,用#號后面內容作為路由跳轉的路徑(因為在瀏覽器中#號后面的url是被忽略不計的,所以只相當于瀏覽器處于同一頁面,而 <li><a href="#/computers" rel="external nofollow" >電腦</a></li> //angular根據#號后面的內容來動態更改顯示的內容) <li><a href="#/printers" rel="external nofollow" >打印機</a></li> <li><a href="#/blabla" rel="external nofollow" >其他</a></li> </ul> <hr /> <div ng-view> </div> // 用ng-view來顯示對應的html視圖
在controller中
var myApp = angular.module('myApp',['ngRoute']).config(['$routeProvider', function ($routeProvider) { // 首先在模塊中加入那個Route依賴,函數中引入$routerProvider $routeProvider .when('/', {template:'this is main page'}) // 根據提供的when函數來進行相應配置 .when('/computers',{ template:'this is conputer page' }) .when('/printers', { template:'this is printer page' .otherwise({redirectTo: '/'}); }]);
完成
使用ui-router:
ui-router的使用方法://www.jb51.net/article/78895.htm
1. 使用uib-tooltip
<!--使用Uib-tooltip提示框--> <div> <div class="form-group"> <button uib-tooltip="this is example" tooltip-placement="right" type="button" class="btn btn-default"> 文本提示框 </button> </div> <div class="form-group"> <button href="#" rel="external nofollow" uib-tooltip-html="htmlToolTip">使用html的提示框</button> </div> <div class="form-group"> <button type="text" uib-tooltip-template = "'myTooltipTemplate.html'" tooltip-placement="top-right">模板提示框</button> </div> </div>
<script type="text/ng-template" id="myTooltipTemplate.html" > <div> <span>使用模板的提示框</span> </div> </script>
tooltip可以使用的屬性有:
屬性名 默認值 備注
tooltip-animation true 是否在顯示和隱藏時使用動畫
tooltip-append-to-body false 是否將提示框放在body的末尾
tooltip-class 加在tooltip上的自定義的類名
tooltip-enable true 是否啟用
tooltip-is-open false 是否顯示提示框
tooltip-placement top 提示框的位置。可設置的值包括:top,top-left,top-right,bottom,bottom-left,bottom-right,left,left-top,left-bottom,right,right-top,right-bottom
tooltip-popup-close-delay 0 關閉提示框前的延遲時間
tooltip-popup-delay 0 顯示提示框前的延遲時間
tooltip-trigger mouseenter 顯示提示框的觸發事件
2. 使用popover
<!--使用popover提示框--> <div> <div class="form-group"> <button uib-popover="this is popover box" popover-placement="auto" popover-trigger="'mouseenter'">文本提示框</button> </div> <div class="form-group" > <button uib-popover-html="htmlToolTip" popover-trigger="'mouseenter'">html提示框</button> </div> <div class="form-group"> <button uib-popover-template="'myTooltipTemplate.html'" popover-trigger="'mouseenter'" popover-title="tittle here" popover-placement="auto" >模板提示框</button> </div> </div>
popover的屬性有:
popover-animation true 是否在顯示和隱藏時使用動畫
popover-append-to-body false 是否將提示框放在body的末尾
popover-enable true 是否啟用
popover-is-open false 是否顯示提示框
popover-placement top 提示框的位置。可設置的值包括:top,top-left,top-right,bottom,bottom-left,bottom-right,left,left-top,left-bottom,right,right-top,right-bottom
popover-popup-close-delay 0 關閉提示框前的延遲時間
popover-popup-delay 0 顯示提示框前的延遲時間
popover-trigger mouseenter 顯示提示框的觸發事件
popover-title 標題
大部分屬性和tooltip也是一樣的,只是沒有popover-class,另外多了個popover-title。
需要注意的一點是,popover的全局配置和tooltip一樣,是使用$uibTooltipProvider來配置的。
全局配置tooltip和popover參照網址 https://www.jb51.net/article/143727.htm
2. 使用uib-datepicker并且封裝成指令
這個插件是datepicker只能獲取日期!不是datetimepicker!還有一個叫timepicker,真納悶為什么angular團隊不把這兩個插件組成一個。。。
因為項目用到的第三方庫實在太多,不愿意再去別的地方再弄一個時間控件,所以就用了angular自帶的這個, 說實話,很一般。。。
上代碼吧:
指令聲明:
emms.directive('emmsSingleDatepicker', function() { return { restrict: 'AE', replace: false, templateUrl: 'directives/single-datepicker/single-datepicker.html', scope: { dateValue: '=ngModel' //逆向綁定輸入框的值到父作用域的ng-model }, controller: function($scope, $filter) { $scope.dateOptions = { maxDate: new Date(2099, 12, 30) }; $scope.altInputFormats = ['yyyy-M!-d!']; $scope.open = function() { $scope.opened = true; }; $scope.transformDate = function() { $scope.dateValue = $filter('date')($scope.date, 'yyyy-MM-dd HH:mm:ss'); }; } } });
指令模板:uib-datepicker就在這
<div> <span class="input-group input-group-xs" > <input type="text" class="form-control" uib-datepicker-popup="{{'yyyy-MM-dd'}}" ng-model="date" is-open="opened" clear-text="清空" current-text="今天" ng-required="true" close-text="關閉" ng-change="transformDate()"/> <span class="input-group-btn"> <button type="button" class="btn btn-default" ng-click="open()"><i class="glyphicon glyphicon-calendar"></i></button> </span> </span> </div>
調用:(別忘了引入指令的js文件)
<emms-single-datepicker ng-model="newAudit.annualDate"></emms-single-datepicker>
3. uib-tab標簽頁
直接在要使用的div或者容器內使用
<uib-tabset active="activeJustified" justified="true"> <uib-tab index="0" heading="汽車" th:include="vehicle/info/templates::car">汽車</uib-tab> <uib-tab index="1" heading="工作車" th:include="vehicle/info/templates::audit" select="toAudit()">工作車</uib-tab> <uib-tab index="2" heading="可用車輛" th:include="vehicle/info/templates::insurance" select="toInsurance()">可用車輛</uib-tab> </uib-tabset>
4. uib-modal 模態框
前臺調用:
<a ng-click="openMaintenanceDetail(maintenance)" class="label label-info btn-xs">編輯</a>
打開模態框的函數
$scope.openVehicleDetail = function(vehicle) { // 彈出確認窗口 var modalInstance = $uibModal.open({ templateUrl: 'vehicle-detail.html', controller: 'VehicleDetailCtrl', animation: true, resolve: { vehicle: vehicle, allTypes: function() { return $scope.allTypes; } }, size: 'lg' }); // 更新頁面內容 modalInstance.result.then(function(response) { refreshByCloseStatus(response, $scope.vehicles); }); }
模態框對應的controller
emms.controller('VehicleDeleteCtrl', ['$scope', '$uibModalInstance', , function($scope, $uibModalInstance) { $scope.confirm = function() { judgeDelete(flag, instance); $uibModalInstance.close("close"); } $scope.cancel = function() { $uibModalInstance.dismiss("cancel"); } }]);
模態框對應的html模板
<script type="text/ng-template" id="VehicleInsurance.html"> <div> <div class="modal-header"> <p class="modal-title" align="center">保險信息</p> </div> <div class="modal-body"> <form name="VehicleInfo"> <div class="form-group"> <td><label for="vehicleType">保險車輛 <span class="text-danger">*</span></label> </td> <td> <select class="form-control" ng-model="insurance.vehicle" ng-options="vehicle as vehicle.vehicleIDNum for vehicle in allVehicles"> <option >請選擇</option> </select> </td> </div> <div class="form-group"> <td><label for="">保險日期 <span class="text-danger">*</span></label></td> <td><input id="" type="text" class="form-control" ng-model="insurance.date" placeholder="" /></td> </div> <div class="form-group"> <td><label for="">保險公司 <span class="text-danger">*</span></label></td> <td><input id="" type="text" class="form-control" ng-model="insurance.companyName" placeholder="" /></td> </div> <div class="form-group"> <td><label for="">保險類型 <span class="text-danger">*</span></label></td> <td><input id="" type="text" class="form-control" ng-model="insurance.type" placeholder="" /></td> </div> <div class="form-group"> <td><label for="">保險金額 <span class="text-danger">*</span></label></td> <td><input id="" type="text" class="form-control" ng-model="insurance.money" placeholder="" /></td> </div> <div class="form-group"> <td><label for="">辦理人 <span class="text-danger">*</span></label></td> <td><input id="" type="text" class="form-control" ng-model="insurance.agent.staffName" placeholder="" /></td> </div> <div class="form-group"> <td><label for="">備注 <span class="text-danger">*</span></label></td> <td><input id="" type="text" class="form-control" ng-model="insurance.remark" placeholder="" /></td> </div> <div class="form-group" align="right"> <td colspan=2> <button class="btn btn-primary import-applicant" type="button" ng-click="cancel()">取消</button> <button class="btn btn-primary import-applicant" type="submit" ng-click="commit(insurance)">提交</button> </td> </div> </form> </div> </div> </script>
以上就是如何在Angular-ui-中使用BootStrap組件,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。