我一直在使用 ng-options 来构建一个选择器,用于选择会非常零星地变化的值。在我的非玩具示例中,我在数组中有大约 50 个左右的选项,并且我注意到每次进行更改时都会变慢。我发现每次我对我的选择进行更改时,它都会重新评估 ng-options。有没有办法避免这种情况?我在这里有一个玩具示例:
本质上,这个函数:
scope.formatItem = function (item) {
console.log('formatting item.');
return item.someProp1 + '/' + item.someProp2;
};
正在调用以格式化每个项目以在选择器中显示,但我只想让它在初始静态列表中的每个项目上运行一次。
Chrome 中的控制台显示了在我做出选择之前总共生成的 9 条日志记录语句,以及之后每次更改的 3 条日志语句。我最初的猜测是使用compile
,但我希望得到一些指导。