Hoe om waarde toe te kennen met een ng-verandering in angular js

Ik heb een eenvoudige drop-down binden met hoekige model

<select ui-select2="{allowClear:true}" ng-model="product.Id" ng-change="{value = product.Id == 0}" data-placeholder="Select Warranty">
      <option></option>
      <option ng-repeat="product in products" value="{{product.Id}}">{{product.Code}}</option>
</select>

Hoe kan ik waarde toewijzen, afhankelijk van enkele voorwaarde in ng-wijzigen?

  • Ik vind het verwarrend dat u bindend zijn de geselecteerde optie om een veld “product.Id” sinds “product” lijkt te zijn alleen geldig op slechts ng-herhalen. Ik zou liever een andere naam, net zoals “selectedOptionId” of iets dergelijks. Maakt het bijvoorbeeld makkelijker om te begrijpen.
InformationsquelleAutor Shivkumar | 2013-09-30

 

2 Replies
  1. 31

    Uw geselecteerde waarde wordt gedefinieerd als ng-model. Op ng-change kunt u bellen met de methode van de controller en het “gekozen” ng-model aan deze methode.

    Hier is een voorbeeld:

    <select                                               
            ng-model="product.Id"
            ng-options="filter as filter.name for filter in groupList"
            ng-change="changeItem(product.Id)"
             ></select>

    Controller

    $scope.changeItem = function(iem){
    
    }

    Als een side-note, zou ik het gebruiken ng-options in plaats van <option ng-repeat.....

    • Ik denk dat je niet nodig hebt om de nieuwe waarde die de functie sinds de waarde is ook toegankelijk via het gewijzigde model.
    • Als u op [a,b,c,d] in opties en je selecteerde de ‘b’, de product.Id gaat om ‘b’ en deze waarde is het argument om changeItem.
    • Ja, klopt, maar omdat het begrensd is tot ‘product.Id’ je hoeft niet op te geven als argument, want je kunt bereiken in de functie van de Controller toepassingsgebied
    • tuurlijk kan je dat, maar op deze manier maakt de code overzichtelijk en uit HTML u kunt zien wat er aan de methode.
  2. 1

    Een functie toevoegen aan het bereik dat controleert de staat en kent de waarde of het waar is. Gewoon bellen voor deze functie van ng-verandering.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *