我一直在尝试追踪ngGridv2.0.14
中我gridID
类别元素未设置“ngGrid
”类的错误,即使动态样式表正在附在我的文件标题上,我发现了一些奇怪的东西......
此错误导致列彼此“显示”......
在ng-grid-2.0.14.debug.js
中,有一个名为directive
的{{1}}(当然!)。该指令使用建议的"directive definition object" form。他们通过定义ngGrid
来定义inherited scope
,并声明scope:true
函数,该函数返回包含仅函数compile
和的对象结构不会声明函数pre
。
奇怪的是在这个post
函数中有一个return语句,我找不到有关pre
函数中的return语句的文档。该函数最终出现在Angular的“pre
”中,我认为这可能是processQueue
(我正在跟踪调用堆栈来找到它,所以我不确定)。在Deffered.$$state.pending
循环期间,angular将这些数组索引作为函数进行测试并调用它们。
正在调用的$digest
函数(可以在ngGrid
找到)做了很多,其中大部分工作正常,例如ng-grid-2.0.14.debug.js line 3318
清理逻辑,{{ 1}} $destroy
,事件监听器建立,以及最重要,在我们的指令$complie($scope)
中添加两个非常具体的类,它们似乎仍在“范围内” “。这是失败的部分。
他们正在通过以下方式向gridTemplate
添加一个类
iElement
有时候这种方法有效,有时这不会......
有时元素会选择“iElement
”类(例如:iElement.addClass("ngGrid").addClass(grid.gridId.toString());
),有时它不会,即使我已经完成了该功能并观察了添加了课程被执行。
进一步调查!:如果我在我的“ngGrid元素”(通过属性实例化ng-scope ngGrid ng[0-9]{13}
指令的元素)的父节点上放置ng-scope ngGrid ng1453913625179
,那么eveything有效!
我的问题:在ng-if="true"
循环中向一个元素追加类是否有问题或任何原因,为什么这有时会起作用而不是所有时间?另外,您能找到有关设置ngGrid
的返回值的文档吗?我找不到有关返回值here的任何信息。最后,为什么在$digest
的父级上设置pre
修复了未附加到ng-if="true"
类列表的类名的问题?谢谢!