我下载了一个叫做abn_tree的角度指令来建立一个角度的文件系统视图。嵌套的角度指令没有得到正确的范围
abn_tree嵌套在另一个指令中。 其中包含指示我的模板结构看起来像这样
<div class=resizable-sideways" ng-controller="FileSystem">
<abn-tree tree-data="explorer" on-select="treeSelected(branch)"></abn-tree>
</div>
在初始DIV,resizable-sideways
是一个指令。 在我的FileSystem
控制器中,我设置了资源管理器,但是当我查看abn-tree的范围时,在控制台中,它说treeData=undefined
。
的abn_tree定义是,
restrict: 'E',
templateUrl: 'vendor/angular-bootstrap-nav-tree/dist/abn_tree_template.html',
scope: {
treeData: '=',
onSelect: '&',
initialSelection: '='
},
link: function(scope, element, attrs) {
不过,如果我更改HTML结构和删除resizable-sideways
指令,一切工作正常。
我限定可调整大小-侧身作为
return {
restrict: 'CA',
transclude: true,
template: '<div class="favor-resizable-container"><div class="favor-resizable-container-wrapper" ng-transclude></div><div class="favor-resizable-bar"></div></div>',
link: function(scope,elem,attrs){
我使用可调整大小-侧身在一个可调整大小的div来包装内容。我的猜测是,当abn-tree标签被封装时,abn-tree的范围被设置为可调整大小。 有没有办法确保可调整大小的副本始终将其父级范围传递给子元素,直到定义新范围为止?
它似乎过于复杂,但我试图创建一个非常模块化的应用程序,用户可以决定他们想要包括哪些功能,因此,我不能绝对确定地说,父范围应该是什么。所以希望有一种方法可以将可调整大小设置为不具有范围,继承它的父范围(我认为是默认范围)或其他解决方案。
奇怪的是,将ng-controller
直接添加到abn-tree
标签也没有帮助。
什么版本的角度您使用的是
这里的?在1.2之前? (如果它是1.2之前的版本,是换一个更新版本的选项?) – KayakDave
我在1.2.5上,所以不应该是个问题。 – pedalpete