2016-04-15 186 views
0

{{ x + ', ' + y }}{{ x }}, {{ y }}有什麼影響嗎?AngularJS:`{{x +','+ y}}與`{{x}},{{y}}`

特別是在看守人的成本方面?

我想知道是否可以通過組合雙向綁定大括號來減少摘要循環的數量。

在此先感謝。

+0

要知道肯定的唯一方法就是對它進行基準測試。摘要週期數不會改變。 – zeroflagL

回答

2

一個digest循環會處理其中的一個或兩個,如果它要完成的話;它不會是x的摘要,然後是y的另一個摘要(除非稍後再觸發新的摘要)。從技術上講,我會說前者稍微多一點,因爲它涉及字符串連接,但我懷疑這種情況必須在後面的某個時刻發生在後面的版本中。

總的來說,我不指望你會得到明顯的表現差異,除非你一次顯示數百或數千個表情(在這種情況下,你可能還會遇到其他問題)並應重新考慮你的方法)。

1

準確地說,第一個表達式將產生一個手錶,但是角將重新計算級聯。

在第二行你可能會認爲會有2個手錶,但它可能不是(我不知道)。我知道如果你這樣做:

<span> blabla {{x}} blabla</span> 

Angular將觀察跨度的全部內容。所以如果你有多個括號的使用,你很可能只有一個手錶的整個事情。

2

{{}}符號比使用ng-bind指令慢:

{{}}會很髒檢查在每一個消化的週期而ng-bind地方在參數傳遞和將更新它,只有當它改變了價值守望者。 使用ng-bind而不是{{}}的另一個優點是,當角度仍在加載時,用戶將不會在頁面中看到{{}}

此外,您可以使用靜態的新::符號(在角1.3中引入)結合(當你知道你的變量不會改變):

<h1 data-ng-bind="::title"></h1> 

關於爲{{}} VS ng-bind符號引用:

「ng-bind更快,因爲它更簡單。內插必須經過 通過額外的步驟驗證上下文,值的jsonification和 更多。 「

+0

有沒有關於'ng-bind x {{}}的性能參考?我想進一步瞭解它 – celsomtrindade

+0

添加了一些參考 –

+0

原來的報價是從第一個鏈接^^基準的方法是...不理想,報價繼續_「在大多數情況下,差異並不重要「_。至於髒檢:兩者沒有區別。 – zeroflagL

相關問題