Javascript 页面AngularJS上的预编译指令

Javascript 页面AngularJS上的预编译指令,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我在角度应用程序中面临性能问题。 这背后的原因是在页面中过度使用指令。 因为我没有足够的时间把那页分成多页 我需要一个解决方案(服务器端.NET),在这个解决方案中,我们可以预编译并预链接到模板内的DOM元素的指令,然后将该页面提供给客户端 或者在执行其他操作时,在客户端异步预编译和预链接指令 <my-directive></my-directive> <!-- 1000 times within the single page --> 谢谢 <l

我在角度应用程序中面临性能问题。 这背后的原因是在页面中过度使用指令。 因为我没有足够的时间把那页分成多页

我需要一个解决方案(服务器端.NET),在这个解决方案中,我们可以预编译并预链接到模板内的DOM元素的指令,然后将该页面提供给客户端

或者在执行其他操作时,在客户端异步预编译和预链接指令

<my-directive></my-directive> <!-- 1000 times within the single page -->

谢谢

<label class="checkbox" ng-hide="ctrl.shouldHide()">
    <input type="checkbox" id="{{fieldId}}" ng-true-value="{{ctrl.valueId}}" ng-model="collection[vhFieldId]" />{{ ctrl.questionText }}
</label>

{{ctrl.questionText}
您不能在服务器端“预编译并预链接到DOM元素的指令”,因为服务器端没有DOM,而且angular是一种客户端技术

可能要做的是更好地编写指令,例如,它只需编译(解析)模板一次,并且只需链接每个实例。这是假设您遇到的性能问题确实与上述指令有关

性能问题也可能是由许多事情引起的,有时一些琐碎的事情,例如为指令设置最小高度,可能会非常有用(因为if可以防止页面回流)

要在这里获得任何实际帮助,您确实需要共享一些代码。

您不能在服务器端“预编译并预链接指向DOM元素的指令”,因为服务器端没有DOM,而且angular是一种客户端技术

可能要做的是更好地编写指令,例如,它只需编译(解析)模板一次,并且只需链接每个实例。这是假设您遇到的性能问题确实与上述指令有关

性能问题也可能是由许多事情引起的,有时一些琐碎的事情,例如为指令设置最小高度,可能会非常有用(因为if可以防止页面回流)


要获得任何实际帮助,您确实需要共享一些代码。

“或者在客户端异步预编译和预链接指令”-这更现实。一般来说,我怀疑您是否需要同时提供所有1000条指令(您的用户是否有1000只手和2000只眼睛?)。很有可能你甚至可以懒散地编译它们。是的,你是对的,我们尝试通过在块中添加控件来异步加载控件的一部分,但这种方法会导致缓慢的UI,这会激怒用户。所以我们决定一次加载所有内容,然后允许用户与UI交互。然后,您确实可以立即加载al,但可以按需编译。您可能也可以改进指令。如果指令包含1000个元素,我想您可以使用
ngRepeat
是否使用
track by
?指令后代码,可能会得到改进。“或者在客户端异步预编译和预链接指令”-这更现实。一般来说,我怀疑您是否需要同时提供所有1000条指令(您的用户是否有1000只手和2000只眼睛?)。很有可能你甚至可以懒散地编译它们。是的,你是对的,我们尝试通过在块中添加控件来异步加载控件的一部分,但这种方法会导致缓慢的UI,这会激怒用户。所以我们决定一次加载所有内容,然后允许用户与UI交互。您可以立即加载al,但可以按需编译。您可能也可以改进指令,如果指令有1000个元素,我想您可以使用
ngRepeat
是否使用
track by
?指令后代码,它可能会得到改进。