经过一段时间的角度编程后,我遇到了一个问题:
什么是"更快" /"更轻的处理" ng-xxxx语句或在控制器中执行代码,为什么? 一个例子是:
在控制器中:
var aid= document.getElementById("Aid");
if( $scope.Mode == "mode1") aid.style.visibility = 'visible'; else aid.style.visibility = 'hidden';
在html中:
<div id="Aid" ng-if="Mode== 'mode1'">
在我目前的项目中,我发现使用ng-if会使应用响应变得更好&#34;但在改变我的编码风格之前,我必须隐藏元素,我想知道更多
答案 0 :(得分:2)
什么是“更快”/“更轻的处理”ng-xxxx声明或在控制器中执行代码?为什么?一个例子是:
正如你的问题的一位评论者所说:
“我认为这不能成为问题的明确答案。这取决于每一个案例......”
除非你在桌面上处理10000多行,所有行都有几个角度内置指令和{{bindings}},否则你不会真正看到性能损失。如果你是,那么有更好的方法可以调整UI(例如分页,延迟加载,无限滚动),同时仍然使用内置指令等经过验证的工具。
我认为你应该问的更重要的问题是“为什么我会通过做XYZ来反对最佳做法”。使用您建议的控制器代码:
var aid= document.getElementById("Aid");
if( $scope.Mode == "mode1") aid.style.visibility = 'visible'; else aid.style.visibility = 'hidden';
...绝对违反任何有角度的最佳做法,应该避免。您已经在提供的ng-if
指令中有了一个指令。