首頁 > web前端 > js教程 > AngularJS實作樹狀結構(ztree)選單範例程式碼

AngularJS實作樹狀結構(ztree)選單範例程式碼

高洛峰
發布: 2017-01-10 12:54:56
原創
1927 人瀏覽過

樹形結構

樹形結構有多種形式和實現方式,zTree可以說得上是一種比較簡潔又美觀的且實現起來也相對簡單。 zTree是一個依靠jQuery實現的多功能「樹插件」。它最大的優點是配置靈活,只要id與pid的值相同就可形成一個簡單的父子結構。再加上免費開源,使用zTree的人越來越多。

效果圖如下

AngularJS實作樹狀結構(ztree)選單範例程式碼

首先你需要知道AngularJS的雙向資料綁定是什麼才可以更好的理解下面的程式碼,想了很久才想出用下面的程式碼來實現左側選單樹形結構

要實現上面的功能你需要操作以下步驟:

在HTML標籤內添加ng-app,讓AngularJS掌管整個HTML文檔

<html lang="en" ng-app="myApp">
登入後複製

myApp是我自己創建的模組

的標籤如下

<div id="left-menu" ng-controller="Left-navigation" class="col-sm-2" style="margin-top: 50px">
  <ul>
 
    <!-- 仪表盘 -->
    <li>
  <!-- 让每一个一级菜单绑定一个函数navFunc,并且传入一个指定的字符串 -->
      <a href="" ng-click="navFunc(&#39;dashboard&#39;)">仪表盘</a>
    </li>
 
    <!-- 主机 -->
    <li>
      <span><a ng-click="navFunc(&#39;hosts&#39;)" href="">主机</a></span>
      <!-- 如果要显示二级菜单,则navAction必须等于制定的字符串,这个是自己定义的,navAction是在controller中创建的 -->
  <ul ng-show="navAction === &#39;hosts&#39;">
        <li><a href="">主机</a></li>
        <li><a href="">分组</a></li>
      </ul>
    </li>
 
    <!-- 容器 -->
    <li>
      <a href="" ng-click="navFunc(&#39;container&#39;)">容器</a>
    </li>
 
    <!-- 模板 -->
    <li>
      <span><a href="" ng-click="navFunc(&#39;template&#39;)">模板</a></span>
      <ul ng-show="navAction === &#39;template&#39;">
        <li><a href="">监控</a></li>
        <li><a href="">装机</a></li>
      </ul>
    </li>
 
    <!-- 用户 -->
    <li>
      <span><a href="" ng-click="navFunc(&#39;users&#39;)">用户</a></span>
      <ul ng-show="navAction === &#39;users&#39;">
        <li><a href="">修改资料</a></li>
        <li><a href="">修改密码</a></li>
        <li><a href="">添加用户</a></li>
        <li><a href="">消息</a></li>
      </ul>
    </li>
 
    <!-- 配置 -->
    <li>
      <a href="" ng-click="navFunc(&#39;configuration&#39;)">配置</a>
    </li>
 
  </ul>
</div>
登入後複製

JS程式碼如下

// 创建myApp模块
var myApp = angular.module(&#39;myApp&#39;, [])
 
// 创建一个controller,名为Left-navigation
myApp.controller(&#39;Left-navigation&#39;, [&#39;$scope&#39;, function ($scope) {
  // 定义一个函数navFunc, 接受一个参数
 $scope.navFunc = function (arg) {
 // 让navAction变量等于函数传入过来的值arg
    $scope.navAction = arg;
  };
}]);
登入後複製
總結

整體的思路其實就是點擊一級導航的時執行一個函數,並把一級導航的名稱發送給函數,然後二級導航在navAction變量等於它的上級導航的時候就顯示,否則就隱藏。以上就是這篇文章的全部內容,希望能對大家的學習或工作帶來一定的幫助,如果有疑問大家可以留言交流。

更多AngularJS實作樹形結構(ztree)選單範例程式碼相關文章請關注PHP中文網! 🎜
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板