[英]strange ng-model behaviour (ng-model mapped to array element)
當您有這樣的ng-model
聲明時,正確的行為應該是什么?
data-ng-model="elements[0]"
它的工作方式是,如果在作用域中已將elements
定義為數組,則它將按我期望的那樣分配數組的第一個元素。
但是,如果未聲明elements
它將分配此值:
elements = {0:'anyvalue'}
(如果我寫了data-ng-model="elements['0']"
,這是有道理的)
在這種情況下 :
elements[0]='anyvalue';
elements['0']='anyvalue';
而且我無法使用“點”符號( elements.0
或elements.'0'
)讀取elements.'0'
。
所以它看起來正確,但是有點奇怪。
這是正確的行為,還是在未定義范圍變量的情況下實例化數組?
數組只是對象的一種特殊類型。 如果您在調試器中查看一個數組,則所有值都將作為帶有數字鍵的屬性列出,就像您顯示的那樣。 如果不將對象初始化為數組,它將仍然以相同的方式訪問該對象,這僅意味着您現在擁有一個帶有數字鍵的對象,而Array原型中沒有任何有用的函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.