Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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
Javascript 在Angular指令中查找性能问题_Javascript_Angularjs_Performance - Fatal编程技术网

Javascript 在Angular指令中查找性能问题

Javascript 在Angular指令中查找性能问题,javascript,angularjs,performance,Javascript,Angularjs,Performance,我创建了一个Angular指令,现在我想提高该指令用于大型数据集时的性能 我使用Chrome的timeline工具来监控加载指令时发生的情况,但我无法理解这~2秒到底花了多少时间,因为无论我在哪里单击,我都会看到角度调用 我做了一个测试,所以你可以自己做测试 指令的快速文档(如果需要,请检查完整文档) ng包括内部ng,重复ng往往会变慢。可能是在ng模型上使用debounce ng包含在ng repeat中,这是我找到如何生成递归列表的唯一方法(这里的问题:)。关于去抖动,你的意思是我应该去

我创建了一个Angular指令,现在我想提高该指令用于大型数据集时的性能

我使用Chrome的timeline工具来监控加载指令时发生的情况,但我无法理解这~2秒到底花了多少时间,因为无论我在哪里单击,我都会看到角度调用

我做了一个测试,所以你可以自己做测试

指令的快速文档(如果需要,请检查完整文档)


ng包括内部ng,重复ng往往会变慢。可能是在ng模型上使用debounce ng包含在ng repeat中,这是我找到如何生成递归列表的唯一方法(这里的问题:)。关于去抖动,你的意思是我应该去抖动观察输入模型时调用的函数吗@在表达式中使用函数也很慢,因为它们被多次调用,比如,{{Math.abs({u areAllChecked(filteredModel))},
\u getLeafs(outputModel)| filter:search)
objs=({u getLeafs(outputModel)| filter:search
而不是$watch“search”是的,ng include是唯一的方法,但你可以内联编写,关于ng model debounce-@你我不确定是否理解内联的内容,但我的数据是动态的,所以我无法“准备”嵌套视图。可能我只是不明白你的意思。
ngModelOptions
肯定会有帮助。ng-includes-inside-ng-repeat往往会变慢。并且可能是在ng-model上使用去Bounce。ng-includes-inside-ng-repeat是我找到如何制作递归列表的唯一方法(问题:).关于去盎司,你的意思是我应该去盎司观察输入模型时调用的函数吗?@你在表达式中使用函数也很慢,因为它们被多次调用,比如,{{Math.abs({u areAllChecked(filteredModel))},
\u getLeafs(outputModel)| filter:search)
obj in objs=(\u getLeafs)(outputModel)| filter:search
而不是$watch“search”并生成固定数据。是的,ng include是唯一的方法,但您可以内联编写,关于ng model debounce-@您我不确定是否理解内联内容,但我的数据是动态的,因此我无法“准备”嵌套视图。也许我只是没有跟上你。ngModelOptions
肯定会有帮助。
<div
    angular-multi-select       <---- directive
    selection-mode="single"    <---- single or multi
    input-model="testdata"     <---- data that is going to be rendered
    output-model="output"      <---- array of selected items
    item-label="{{ name }}"    <---- template for each rendered item
    button-template="angular-multi-select-btn-data.htm"   <---- template for the directive itself
    button-label="{{ txt[name] || 'Other' }}"   <----- template for how each selected item should be rendered in the directive dropdown
    tick-property="checked">   <---- property containing the un/checked marker
</div>