Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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
Angularjs 单元格模板中的ng网格和所需指令_Angularjs_Angularjs Directive_Ng Grid - Fatal编程技术网

Angularjs 单元格模板中的ng网格和所需指令

Angularjs 单元格模板中的ng网格和所需指令,angularjs,angularjs-directive,ng-grid,Angularjs,Angularjs Directive,Ng Grid,我已经编写了一个自定义工具提示指令,它需要一个共享控制器函数在获取工具提示的元素和工具提示div本身之间传递数据。我在容器div上放了一个tooltipCtrl指令,然后在mouseover上放了一个tooltip指令,在元素上放了一个tooltipDiv指令,应该在mouseover上得到tooltip,在元素上放了一个tooltipDiv指令,实际上得到了tooltip。tooltip和tooltipDiv在其定义中都有require:“^tooltipCtrl”。这样做可能是错误的,但似乎

我已经编写了一个自定义工具提示指令,它需要一个共享控制器函数在获取工具提示的元素和工具提示div本身之间传递数据。我在容器div上放了一个tooltipCtrl指令,然后在mouseover上放了一个tooltip指令,在元素上放了一个tooltipDiv指令,应该在mouseover上得到tooltip,在元素上放了一个tooltipDiv指令,实际上得到了tooltip。tooltip和tooltipDiv在其定义中都有require:“^tooltipCtrl”。这样做可能是错误的,但似乎可以完成任务

不幸的是,当我尝试在ng grid的自定义cellTemplate中使用该指令时,出现以下错误:

错误:[$compile:ctreq]找不到指令“tooltip”所需的控制器“tooltipCtrl”

以下是模板定义:

<div tooltip="cell" class="ngCellText"><span ng-cell-text>{{row.getProperty(col.field)}}</span></div>
在ng grid之外使用模板时不会发生这种情况。ng grid在编译模板时是否做了一些奇怪的事情,以至于在父元素上找不到指令

下面是一个小木桶里的全部内容:


谢谢你的指导

我认为这与ngGrid指令已关闭范围这一事实有关,第3057行:

ngGridDirectives.directive('ngGrid', ['$compile', '$filter', '$templateCache', '$sortService', '$domUtilityService', '$utilityService', '$timeout', '$parse', '$http', '$q', function ($compile, $filter, $templateCache, sortService, domUtilityService, $utils, $timeout, $parse, $http, $q) {
    var ngGridDirective = {
        scope: true,
        compile: function() {

谢谢你的回复,但我不明白-你能详细介绍一下吗?奇怪的是,它似乎很容易找到“tooltip”指令,否则它就不知道与ToolTiptRL的链接,但它找不到“ToolTiptRL”。我没有直接的答案,但只知道你不能从具有隔离作用域的父控制器访问任何内容。另外,我将在这里查看Mark Rajcok的答案->angularjs访问指令将作用域与父控制器隔离