最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js引入UIBootstrap的方法示例

 更新時間:2018年05月11日 10:23:04   作者:foruok  
這篇文章主要介紹了Node.js引入UIBootstrap的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

很多Web管理系統(tǒng)的側邊菜單是可折疊的(手風琴樣式),我們在前面兩篇文章里的HTML模板,自己用div、css做了一些處理,可效果不好。所以我請來了一個前端UI框架,UI Bootstrap,來幫忙。別看它名字里帶一個Bootstrap,但它并不依賴Bootstrap,而是用AngularJS實現(xiàn)的原生指令哦。我討厭太多的依賴,這個我喜歡。

這篇我們以“Angular簡單示例”里的AngularDemo為基礎,我說到的目錄什么的,都遵循express應用的默認目錄結構。

UI Bootstrap

UI Bootstrap在github上有一個簡單介紹:

Native AngularJS (Angular) directives for Bootstrap. Smaller footprint (20kB gzipped), no 3rd party JS dependencies (jQuery, bootstrap JS) required.

還有一個Readme,把安裝、構建等講了個大概,這些我都不感興趣,我要快速將其引入Node.js的應用里,所以一切手動來做,直接下載人家Build好的文件。

安裝

最小安裝需要:

  1. ui-bootstrap-tpls
  2. angular-animate
  3. bootstrap CSS文件
  4. bootstrap CSS需要的字體文件glyphicons-halflings-regular.woff

我選擇帶模板的ui-bootstrap庫,即帶tpls的,這種版本的庫,模板與指令混在一起了,不能自定義模板和樣式。如果你要自定義外觀,那就下載不帶tpls的。Build好的文件可以在這里https://github.com/angular-ui/bootstrap/tree/gh-pages#build-files下載,選你喜歡的好了。

0.13.x版本的UI Bootstrap要求Angular 1.3.x或1.4.x。我使用0.13.3版本的UI Bootstrap、1.4.3版本的AngularJS及angular-animate。

1.4.3的Angular及animate組件,都可以到這里下載:https://code.angularjs.org/1.4.3/。打不開就翻qiang或VPN。

bootstrap的CSS文件,這里可以下載:http://www.bootstrapcdn.com/。字體文件google一下可以下載到,或者http://code.taobao.org/svn/mczg/trunk/mczg/WebRoot/bootstrap/fonts/glyphicons-halflings-regular.woff

都下載后,需要處理一下。

  1. angular-1.4.3.min.js,這個之前就說過了,放在public/javascripts目錄下。
  2. angular-animate-1.4.3.min.js(不是這個名字的就改成這樣),放在public/javascripts目錄下。
  3. ui-bootstrap-tpls-0.13.3.min.js(不是這個名字的就改成這樣),放在public/javascripts目錄下。
  4. bootstrap-3.1.1.min.css(不是這個名字的就改成這樣),放在public/stylesheets目錄下。
  5. glyphicons-halflings-regular.woff(不是這個名字的就改成這樣),在public目錄下新建一個fonts目錄,放進去

OK,手動安裝基本就緒了。

使用UI Bootstrap組件

為了使用UI Bootstrap,要引入三個js文件,一個css文件。HTML模板大概是這樣的:

<!DOCTYPE html>
<html ng-app="myApp">
 <head>
  <meta charset="UTF-8">
  <link rel="stylesheet" href="/stylesheets/bootstrap-3.1.1.min.css" rel="external nofollow" rel="external nofollow" >
 </head>
 <body>
  ...
  <script src="/javascripts/angular-1.4.3.min.js"></script>
  <script src="/javascripts/angular-animate-1.4.3.min.js"></script>
  <script src="/javascripts/ui-bootstrap-tpls-0.13.3.min.js"></script>  
 </body>
</html>

然后,你使用Angular,至少還有一個實現(xiàn)作用域模型的js文件,放在“/body”標簽上面吧。

在HTML中添加了相關文件后,就可以照著UI Bootstrap的文檔來學怎么用相關組件和指令了。

UI Bootstrap的詳細文檔在這里:http://angular-ui.github.io/bootstrap/。里面對現(xiàn)在支持的指令做了詳細介紹,還有現(xiàn)成的例子可以拿賴學習。不過,要翻qiang。

使用UI Bootstrap的Demo

修改兩個文件,admin.html和admin.js。

bootstrap-admin.html

把public目錄下的admin.html復制一份,重命名為bootstrap-admin.html,用notepad++打開,將內(nèi)容修改成下面這樣:

<!DOCTYPE html>
<html ng-app="x-admin">
 <head>
  <meta charset="UTF-8">
  <title>X管理系統(tǒng)</title>
  <link rel="stylesheet" href="/stylesheets/admin.css" rel="external nofollow" >
  <link rel="stylesheet" href="/stylesheets/bootstrap-3.1.1.min.css" rel="external nofollow" rel="external nofollow" >
 </head>
 <body>
  <div class="x-view-full" ng-controller="x-controller">
    <div class="x-project-header">
     <div id="x-project-title">X管理后臺</div>
     <div id="x-login-user"><a href="/user/tttt" rel="external nofollow" >{{currentUser}}</a>&nbsp;<a href="/logout" rel="external nofollow" >退出</a></div>
    </div>
    <div class="x-sidemenu">
     <accordion close-others="oneAtATime">
      <accordion-group heading="{{menu.text}}" ng-repeat="menu in menus" is-open="$first">
       <div ng-repeat="subMenu in menu.subMenus"><a href="" ng-click=" rel="external nofollow" setContent(subMenu.action)">{{subMenu.text}}</a></div>
      </accordion-group>
     </accordion>
    </div>
    <div class="x-contents">
     <div ng-include="content"></div>
    </div>
  </div>
  <script src="/javascripts/angular-1.4.3.min.js"></script>
  <script src="/javascripts/angular-animate-1.4.3.min.js"></script>
  <script src="/javascripts/ui-bootstrap-tpls-0.13.3.min.js"></script>  
  <script src="/javascripts/bootstrap-admin.js"></script>
 </body>
</html>

你可以和原來的admin.html比較一下,我把class為x-sidemenu的div元素內(nèi)的item模板,用UI Bootstrap的accordion和accordion-group重寫了一下。

accordion定義一個手風琴菜單區(qū)域,close-others屬性可以指定本區(qū)域內(nèi)的菜單組的展開是否互斥,值為true時,一次只能展開一個菜單組,為false,可以存在多個展開的菜單。(注:這里用菜單一詞不太準確,先這么著。)

accordion-group定義手風琴上的可折疊內(nèi)容,它的heading屬性指定折疊區(qū)域的標題,is-open屬性指定當前菜單是否打開,為true時打開,你在HTML中指定true或false時,是初始值,用戶點擊后,會改變。你也可以把這個屬性和Angular作用域模型中的數(shù)據(jù)關聯(lián)在一起。我引用了Angular的ng-repeat指令內(nèi)置的first屬性,由ng−repeat生成的第一個item的first屬性值為true。所以我設計的手風琴區(qū)域,初始加載時第一個可折疊菜單時打開的。

bootstrap-admin.js

復制原來的admin.js為bootstrap-admin.js,內(nèi)容修改為下面這樣:

angular.module('x-admin', ['ui.bootstrap', 'ngAnimate']).
controller('x-controller', function ($scope, $http) {
 $scope.currentUser="ZhangSan";
 $scope.content = '/welcome.html';
 $scope.oneAtATime = false;

 $scope.menus =[
  {
   text: "系統(tǒng)管理",
   enabled: true,
   subMenus:[
    {
     text: "用戶管理",
     enabled: true,
     action:"/admin/addUser"
    },
    {
     text: "角色管理",
     enabled: true,
     action:"/role"    
    },
    {
     text: "權限管理",
     enabled: true,
     action:"/access"    
    }
   ]
  },
  {
   text: "內(nèi)容管理",
   enabled: true,
   subMenus:[
    {
     text: "直播流監(jiān)控",
     enabled: true,
     action:"/stream-monitor"
    },
    {
     text: "預約管理",
     enabled: true,
     action:"/book-mgr"    
    }
   ]  
  },
  {
   text: "推送管理",
   enabled: true,
   subMenus:[
    {
     text: "推送列表",
     enabled: true,
     action:"/push-list"
    },
    {
     text: "新增推送",
     enabled: true,
     action:"/add-push"    
    }
   ]  
  }  
 ];

 $scope.setContent = function(action){
  console.log(action);
  $scope.content=action;
 };
});

我給$scope設置了oneAtATime屬性,初值為false,HTML中accordion元素的close-others屬性和oneAtATime綁定了。所以,最終我們的管理菜單是可以同時打開多個的。

最重要的改動是第一行代碼:

angular.module('x-admin', ['ui.bootstrap', 'ngAnimate']).

注入了對ui.bootstrap和ngAnimate兩個模塊的依賴。

好了,最終在瀏覽器里打開“http://localhost:3000/bootstrap-admin.html”,效果如下:

點擊內(nèi)容管理后,效果如下:

更多UI Bootstrap組件的用法,去看文檔嘍。更多Angular UI,看這里嘍:https://github.com/angular-ui。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Nodejs 搭建簡單的Web服務器詳解及實例

    Nodejs 搭建簡單的Web服務器詳解及實例

    這篇文章主要介紹了Nodejs 搭建簡單的Web服務器詳解及實例的相關資料,并附實例代碼和實現(xiàn)效果圖,需要的朋友可以參考下
    2016-11-11
  • 安裝node-sass的方法步驟

    安裝node-sass的方法步驟

    本文主要介紹了安裝node-sass的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • 基于npm?install或run時一些報錯的解決方案

    基于npm?install或run時一些報錯的解決方案

    這篇文章主要介紹了基于npm?install或run時一些報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • node.js中的fs.fchown方法使用說明

    node.js中的fs.fchown方法使用說明

    這篇文章主要介紹了node.js中的fs.fchown方法使用說明,本文介紹了fs.fchown方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • express默認日志組件morgan的方法

    express默認日志組件morgan的方法

    morgan是express默認的日志中間件,這篇文章主要介紹了express默認日志組件morgan的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • socket.io學習教程之基本應用(二)

    socket.io學習教程之基本應用(二)

    socket.io提供了基于事件的實時雙向通訊,下面這篇文章主要給大家介紹了socket.io基本應用的相關資料,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • npm?ERR!Cannot?read?properties?of?null(reading?'pickAlgorithm')報錯問題解決

    npm?ERR!Cannot?read?properties?of?null(reading?'p

    這篇文章主要給大家介紹了關于npm?ERR!Cannot?read?properties?of?null(reading?'pickAlgorithm')報錯問題的解決方法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • Node如何后臺數(shù)據(jù)庫使用增刪改查功能

    Node如何后臺數(shù)據(jù)庫使用增刪改查功能

    這篇文章主要介紹了Node如何后臺數(shù)據(jù)庫使用增刪改查功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Node.js五大應用性能技巧小結(必須收藏)

    Node.js五大應用性能技巧小結(必須收藏)

    本篇文章主要介紹了Node.js五大應用性能技巧小結(必須收藏),小編覺得挺不錯的,現(xiàn)在分享給大家
    2017-08-08
  • 解決修復npm安裝全局模塊權限的問題

    解決修復npm安裝全局模塊權限的問題

    今天小編就為大家分享一篇解決修復npm安裝全局模塊權限的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05

最新評論

莱芜市| 韶关市| 噶尔县| 昌吉市| 瑞昌市| 新津县| 易门县| 霍城县| 武乡县| 聂拉木县| 丹阳市| 西畴县| 锡林浩特市| 合肥市| 金门县| 凤翔县| 芦山县| 乐山市| 和静县| 北碚区| 竹溪县| 建德市| 馆陶县| 鱼台县| 祁门县| 包头市| 永登县| 集贤县| 凤山市| 于都县| 云浮市| 宜春市| 山丹县| 怀集县| 阳曲县| 石楼县| 枣阳市| 茂名市| 呈贡县| 囊谦县| 磐安县|