簡體   English   中英

AngularJS,ng-選項

[英]AngularJS, ng-options

我研究了AngularJS,但我無法理解ng-options指令中表達式的含義,這是代碼的鏈接,以下是我無法理解的內容:

ng-options="net for net in networks"

我看過文檔 ,文檔將上面的表達式解釋為:

數組中值的標簽

因此,每個選項中都有value屬性,該值表示數組中的鍵,我的問題是net for net in networks的表達式net for net in networks是如何工作的,我的意思是:

  • 我假設第一個net是鍵,第二個是值,因此表達式“說”將那個值的鍵放在netwroks數組內,並將其放在每個option元素的每個value屬性內。
  • 我不明白的是net for net如何影響ng-model="network"

這是我對您的文檔的簡單解釋:

label是顯示給用戶的選項元素的內容。

value是選擇該選項時放置在ngModel綁定中的值,而不是您假設的option元素的value屬性。

option元素的value屬性通過角度設置為array中關聯項目的索引(如您所查看的是否在plunker示例中檢查select元素一樣)。

編輯

您可以將ng-options視為foreach循環。 由於networks在這種情況下是一個字符串數組,因此net只是成為數組中的每個字符串項。

如果網絡是一組對象,情況將有所不同。 給定的networks看起來像這樣:

var networks = [
    { id: 10, name: 'Verizon' },
    { id: 20, name: 'AT&T' },
    { id: 30, name: 'Sprint' },
];

net將成為數組中的每個對象。 在這種情況下,您可以net.name for net in networks使用表達式net.name for net in networks來顯示net.name for net in networks的名稱,但為ngModel綁定network賦予對象本身的值。 如果您想使用id作為值,則可以使用表達式net.id as net.name for net in networks 此處查看更新的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM