我已经构建了一个生成滑动菜单的指令。它仍然是一项正在进行的工作,但我遇到了一个小问题,我想在我开始注意到之前先解决这个问题。
我将首先给你一个小提琴,以便你可以跟随:
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指令,以便我的菜单流畅地工作,无需编译或者我不会得到重复指令一遍又一遍?
我的第三个问题,我是否正确地采取了这种方式?我是否错误地构建了应用程序?
提前感谢您的任何帮助,如果需要澄清,请询问。