Domanda

Sto cercando di creare una direttiva per un gruppo a discesa.
Tuttavia, il legame dei dati non funziona correttamente.
Il problema è : la variabile predefinita non riceve il valore da HTML e non è stato possibile caricare il valore dell'articolo.

Ecco il codice Direttiva:

app.directive 'addquestionbutton', ()->
    restrict: 'E'
    replace: true
    scope:
        default: '@'
        dropdown: '='
        addQuestionClick: '&'
    template: 
        '<div class="bottom-buttons-container">' + 
        '<div class="add-item">' + 
        '<div class="btn-group dropup">' + 
        '<button type="button" class="btn btn-default btn-md" id="btnSelect" ng-click="addQuestionClick(default)">Add item</button>' +
        '<button type="button" class="btn btn-info btn-md dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>' + 
        '<ul class="dropdown-menu">' + 
        '<li ng-repeat="item in dropdown">' + 
        '<a ng-click="addQuestionClick(item)">{{item}}</a></li></ul></div></div></div>'  
.

Ecco il codice HTML:

<addquestionbutton default='Text' add-question-click="addItem(item)" dropdown="dropdownitems"></addquestionbutton>
.

È stato utile?

Soluzione

Hai solo bisogno di specificare il parametro all'interno della tua chiamata.Vedi questa domanda correlata: Metodo di chiamata del controller genitore da ADirettiva in AngularJS

<button ng-click="addQuestionClick({item: default})" type="button" class="btn btn-default btn-md" id="btnSelect" >
...
<li ng-repeat="item in dropdown">
  <a ng-click="addQuestionClick({item: item})">{{item}}</a>
</li>
.

Ecco una demo funzionante: http://plnkr.co/edit/pqbp4c4x4riwmn5zha7i?p= Anteprima

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top