2016-02-20 61 views
2

我發現這個highly upvoted answer(+50)和this comment暗示結束以分號和雙引號的表達,;""當你想在定義一個變量角度,可以使用您的模板不會將其呈現爲文本。在AngularJS尾隨雙引號表達式

我已經測試過,它的工作原理。例如:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app=""> 
 
    <p>This variable is rendered: {{ text1 = 'yes' }} </p> 
 
    <p>This variable isn't:  {{ text2 = 'yes';"" }}</p> 
 
</div>

我知道,使用ngInit是初始化變量的最佳方法,但+50用戶upvoted其他建議和I'm納悶:這是一個記錄的功能?我找不到任何這方面的參考。

如果它不是人們正在利用的功能而是渲染錯誤,我是否應該假設它使用起來並不安全並且可能在將來被修復?

回答

3

它不是渲染錯誤。當多個表達式用分號分隔時,Angular表達式計算爲最後一個表達式。

{{a=5; x=4; z="hello"}} evaluates to {{"hello"}} 

{{ text2 = 'yes';"" }} evaluates to {{""}} 

未呈現空字符串。

該行爲不會消失。

+0

是的,你是對的!我誤解了';'''作爲一個特殊的命令。謝謝。 – Zanon

相關問題