ivh 树 - 禁用节点以供选择

ivh tree - disable node for selection

我是 ivh tree (https://github.com/iVantage/angular-ivh-treeview) 的新手,正在使用这个库。我想根据用户权利

为 selection 禁用某些节点

例如我有这样的树

$scope.bag = [{
            label: 'Glasses',
            value: 'glasses',
            entitled: false,
            children: [{
                label: 'Top Hat',
                value: 'top_hat',
                entitled: true
            }, {
                label: 'Curly Mustache',
                value: 'mustachio',
                entitled: false
            }]
        }];
};

所以根据变量标题:[boolean],它应该让用户 select 或 unselect。如何做到这一点?

为此,您需要将一些逻辑放入自定义节点模板中。这是一个精简的示例,其中我引入了一个辅助指令,该指令仅检查 node 范围值并在需要时禁用其复选框。

http://jsbin.com/buqaxu/2/edit?html,js,output

app.directive('isCbEnabled', function() {
  return {
    link: function(scope, element, attrs) {
      if(scope.node.disabled) {
        element.find('input').attr('disabled', true);
      }
    }
  };
});

您可以将类似的内容附加到模板中的 ivh-treeview-checkbox 指令。请注意,node 是模板中受支持的范围变量。