使用动态背景指令的$ compile问题

时间:2017-01-05 17:49:47

标签: angularjs angularjs-directive ng-animate

我已经构建了一个生成滑动菜单的指令。它仍然是一项正在进行的工作,但我遇到了一个小问题,我想在我开始注意到之前先解决这个问题。

我将首先给你一个小提琴,以便你可以跟随:

https://jsfiddle.net/chdbxt1h/19/

从javascript下的line 70处开始,您会看到:

element.on('mousedown', function(){
                body.attr("ng-class", "menu-overlay");  
                $compile(body)(scope);
                \\ code continues on from here

问题在于$compile(body)(scope)行。每次我点击事件时,都会明显编译正文。这样做是开始重复显示<!ng-if blah blah blah ...的过程,它将开始显示这些不同的if指令大约30或40倍,菜单变得滞后。这显然不是最佳的。

我的第一个问题是,为什么当我删除编译时一切都会中断?

我的第二个问题是,是否有另一种方法可以使我能够在主体上动态生成ng-class指令,以便我的菜单流畅地工作,无需编译或者我不会得到重复指令一遍又一遍?

我的第三个问题,我是否正确地采取了这种方式?我是否错误地构建了应用程序?

提前感谢您的任何帮助,如果需要澄清,请询问。

0 个答案:

没有答案