Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将我的笔转换成有角度的树状视图?_Javascript_Angularjs_Treeview - Fatal编程技术网

Javascript 如何将我的笔转换成有角度的树状视图?

Javascript 如何将我的笔转换成有角度的树状视图?,javascript,angularjs,treeview,Javascript,Angularjs,Treeview,我为treeview a-la Material设计写了一篇简单而又功能最少的文章。但我不理解指令,也不能编写正确的代码将我的模板转换成angular插件 如何使用异步节点加载和自定义复选框(显示/隐藏)为treeview编写正确的角度指令?我现在的主要问题是模板递归的错误 降价 <script type="text/ng-template" id="treeview.html"> <md-list-item> <p>{{ item.title }

我为treeview a-la Material设计写了一篇简单而又功能最少的文章。但我不理解指令,也不能编写正确的代码将我的模板转换成angular插件

如何使用异步节点加载和自定义复选框(显示/隐藏)为treeview编写正确的角度指令?我现在的主要问题是模板递归的错误

降价

<script type="text/ng-template" id="treeview.html">
  <md-list-item>
    <p>{{ item.title }}</p>
    <md-icon class="material-icons md-secondary" ng-if="item.items" ng-click="toggleItems(item)">{{ item.expanded ? 'expand_less' : 'expand_more' }}</md-icon>
  </md-list-item>
  <md-list flex ng-if="item.items" ng-show="item.expanded">
    <div ng-repeat="item in item.items" ng-include="'treeview.html'"></div>
  </md-list>
</script>

<body layout="column" ng-cloak ng-app="app" ng-controller="MainCtrl" flex>
  <md-toolbar>
    <div class="md-toolbar-tools">
      <h2>TreeView emulation</h2>
    </div>
  </md-toolbar>

  <md-content flex class="md-padding">
    <md-list>
      <div ng-repeat="item in items" ng-include="'treeview.html'"></div>
    </md-list>
  </md-content>
</body>

{{item.title}

{{item.expanded?'expand_less':'expand_more'} 树视图仿真
JS代码

(function(A) {
  "use strict";

  var app = A.module('app', ['ngMaterial']),
    ids = 1;

  function getId() {
    return ids++;
  }

  function createItems(count) {
    var i, id, items = [];
    for (i = 0; i < count; i += 1) {
      id = getId();
      items.push({
        id: id,
        title: 'Item #' + id,
        items: id % 4
      });
    }
    return items;
  }

  app.controller('MainCtrl', ['$scope', function($scope) {

    $scope.items = createItems(6); // 6 штук хвати всем!

    $scope.toggleItems = function(item) {
      if (item.items) {
        if (A.isArray(item.items)) {
          item.expanded = !item.expanded;
        } else {
          item.items = createItems(Math.floor(Math.random(4)) + 3);
          item.expanded = true;
        }
      }
    };
  }]);
}(this.angular));
(功能(A){
“严格使用”;
var app=A.module('app',['ngMaterial']),
ids=1;
函数getId(){
返回ids++;
}
函数createItems(计数){
变量i,id,项目=[];
对于(i=0;i
这就是你要找的吗

还有,看看这个。这可能是一个很好的起点


是的,我看到了这些链接并编写了自己的指令,但她没有工作。另外,我从这个JSFIDLE[1]复制代码,但它不是一个指令。[1]