Javascript 角度指令需要非父指令控制器
我写了一个模块。Javascript 角度指令需要非父指令控制器,javascript,html,angularjs,css,angularjs-directive,Javascript,Html,Angularjs,Css,Angularjs Directive,我写了一个模块。 目前,我正在将datePicker弹出窗口附加到主指令元素,并要求其控制器像api一样使用它: angular.module('ADM-dateTimePicker', []) .directive('admDtp', [function() { return { require: ['ngModel', 'admDtp'], link: function() {}, control
目前,我正在将datePicker弹出窗口附加到主指令元素,并要求其控制器像api一样使用它:
angular.module('ADM-dateTimePicker', [])
.directive('admDtp', [function() {
return {
require: ['ngModel', 'admDtp'],
link: function() {},
controller: [function() {}]
}
}])
.directive('admDtpCalendar', [function() {
return {
require: '^^admDtp',
link: [function() {}]
}
}])
如果在某些带有隐藏溢出的对话框中使用adm dtp
,我的日期选择器也会隐藏,有时会出现z索引问题。我想我有两个选择:
- 使弹出位置固定
这将解决这个问题,但我认为粘在屏幕上,不移动滚动可能会烦人的用户李> - 附加到文档正文
唯一的问题是我不能要求
!因为^^admDtp
不再是popup的父级李>admDtp
我可以在文档正文中添加弹出窗口,但如何要求非父指令控制器使用其api?如果需要两个指令进行通信,而不依赖于指令层次结构,请通过服务执行此操作。还不清楚为什么该指令应该放在DOM中一个可见的位置(主体等)。只需将元素动态添加/删除到所需的位置。您可以从现有的角度模态解决方案中学习一些技巧。@estus任何隐藏溢出的父项都会影响所有嵌套的子项,它可能是一个角度材质对话框或简单的div元素!这就是追加到body root的原因。如果您需要两个指令来通信,而不依赖于指令层次结构,那么可以通过服务来完成。还不清楚为什么该指令应该放在DOM中一个可见的位置(主体等)。只需将元素动态添加/删除到所需的位置。您可以从现有的角度模态解决方案中学习一些技巧。@estus任何隐藏溢出的父项都会影响所有嵌套的子项,它可能是一个角度材质对话框或简单的div元素!这就是附加到体根的原因。