2016-04-02 15 views
0

Ben angularjs için yeni ve hala dili öğreniyorum. Bir html içinde bir seçim kutusu oluşturdum ve denetleyicimde bir değişkenle doldurmak istiyorum.angularjs kullanarak html değişkenleri indeksleme

{{variablename}} kullanarak html'deki değişkeni alabiliyorum, ancak içindeki alt nesneleri alamıyorum. Lütfen koduma bakın here.
Bunu html "repeatSelect" görüntüler ama onun içinde endekse bir nesne çalışırsanız, o göstermiyor görebilirsiniz.

şöyle

Denetleyici bir $ kapsamı değişkeni (getId boş daima) html kodunda

controller('ExampleController', ['$scope', function($scope) { 
    $scope.repeatSelect = null; 
    $scope.data = { 
    availableOptions: [ 
     {id: '1', name: 'Option A'}, 
     {id: '2', name: 'Option B'}, 
     {id: '3', name: 'Option C'} 
    ], 
    }; 
}]); 

, çalışıyor, ancak repeatSelect.id değil repeatSelect

<tt>repeatSelect = {{repeatSelect}}</tt><br/> 
    <tt>getID = {{repeatSelect.id}}</tt><br/> 

.

direktifi yerine https://docs.angularjs.org/api/ng/directive/ngOptions inşa

cevap

1

kullanın ng-options rehberlik edin.

Özellikle HTML seçim listeleriyle çalışmak üzere tasarlanmış ve çok sayıda güçlü seçeneğe sahiptir. http://plnkr.co/edit/kIcH5fF7suhN0rhVDez8?p=preview

+0

ah beni alt ama dolayı ben yaşamış performansla konulara gerçekten yok Ben şimdi bir alışkanlık olduğunu biliyorum – nCore

+0

"tarafından track" gerekir:

<div ng-controller="ExampleController"> <label> Repeat select: </label> <select ng-options="option as option.name for option in data.availableOptions track by option.id" ng-model="repeatSelect"></select> <hr> <tt>repeatSelect = {{repeatSelect}}</tt><br/> <tt>getID = {{repeatSelect.id}}</tt><br/> </div> 

plunkr burada bakın. –

+0

Görüyorum, her zaman önce "hiç" olarak kullanılan parça. Yavaş olmasından dolayı üzgünüm ama temel olarak aynı şeyi yaptıkları için "as" ile "takip et" arasındaki fark nedir? – nCore

İlgili konular