2015-12-11 21 views
0
link: function(scope, element, attrs, model) 

這是用於角度指令的鏈接函數。在鏈接功能的元素參數上不允許數組操作

當我看着元對象已經以下結構

[<input google-place type=​"text" id=​"existingAreas" class=​"form-control  ng-isolate-scope" place=​"newProperty.address.selectedArea" country=​"in">​] 

的console.log(元件)給出了這樣的

R[1] 
0: input#existingAreas.form-control.ng-isolate-scope 
length: 1 
__proto__: Object[0] 

它看起來是一個數組。但是當我嘗試像彈出一樣進行數組操作時,它會給出錯誤。雖然對元素[0]的引用起作用。

我無法理解爲什麼會發生這樣

回答

0

縱觀the documentation我們可以看到:

要素是該指令匹配的jqLit​​e-wrapped元素。

jQuery的(並且這樣jqLit​​e)返回所謂的陣列狀對象,這意味着它們具有數字索引性質和長度屬性。這些看起來像數組,可以通過call函數與一些數組函數一起使用,但它們不是真正的數組,因此沒有正常的數組方法。

要獲得最後一個元素,你可以簡單地做

var last = element[element.length-1]; 
0

這是一個對象,你不能做就可以了數組操作。如果您需要刪除對象鍵嘗試

delete element[0] 

delete element.key 

delete element['key'] 
+0

爲什麼你認爲這是不是數組的對象?我不想刪除任何東西。我想獲取最後一個元素而不使用幻數 –