猿问

AngularJS:为什么ng-BIND在角度上比{}好?

AngularJS:为什么ng-BIND在角度上比{}好?

我参加了一次有角度的演讲,会上提到的人之一ng-bind{{}}绑定。

其中一个原因,ng-bind将变量放在监视列表中,只有当有模型更改时,数据才会被推送到视图中,另一方面,{{}}每次都会插值这个表达式(我猜这是角度循环)并推送这个值,即使值改变与否。

此外,如果屏幕上没有多少数据,则可以使用{{}}而且性能问题也是看不见的。有人能帮我解释一下这个问题吗?


素胚勾勒不出你
浏览 508回答 3
3回答

MMMHUHU

能见度:当您的angularjs正在引导时,用户可能会看到您放在html中的括号。这可以用ng-cloak..但对我来说,这是一个解决办法,如果我用的话,我不需要用ng-bind.业绩:这个{{}}是慢得多.这,这个ng-bind是指令并将一个观察者放在传递的变量上。所以ng-bind将只适用于传递的值实际上是变化的。.另一方面,括号将是肮脏检查重新振作起来每一,每个&nbsp;$digest即使是不必了.我目前正在构建一个大的单页应用程序(每个视图大约有500个绑定)。从{}改为严格ng-bind每一次都为我们节省了20%scope.$digest.建议:如果使用翻译模块,如角度平移,总是喜欢指令在括号注释之前。{{'WELCOME'|translate}}&nbsp;=>&nbsp;<span ng-translate="WELCOME"></span>如果您需要一个过滤器函数,最好选择一个指令,它实际上只是使用您的自定义筛选器。$Filter服务的文档角为1.3xbindonce介绍了功能。因此,您可以将表达式/属性的值绑定一次(当!=‘unDefined’时绑定。)当您不期望您的绑定发生更改时,这是非常有用的。用法:放置::在你装订之前:<ul>&nbsp;&nbsp; &nbsp;&nbsp;<li&nbsp;ng-repeat="item&nbsp;in&nbsp;::items">{{item}}</li></ul>&nbsp;&nbsp;<a-directive&nbsp;name="::item"><span&nbsp;data-ng-bind="::value"></span>例子:ng-repeat若要输出表中的某些数据,每行有多个绑定。翻译-绑定,过滤输出,在每个范围摘要中执行。

慕娘9325324

ng-bind比{{...}}例如,您可以:<div> &nbsp;&nbsp;Hello,&nbsp;{{variable}}</div>这意味着整个文本Hello, {{variable}}围住<div>将被复制并存储在内存中。如果你做的是这样的事情:<div> &nbsp;&nbsp;Hello,&nbsp;<span&nbsp;ng-bind="variable"></span></div>只有值的值将存储在内存中,角将注册一个观察者(监视表达式),其中只包含变量。
随时随地看视频慕课网APP
我要回答