2017-10-10 4 views
0

J'ai une entrée dans laquelle je suis en utilisant la syntaxe de liaison 2 voies pour remplir sa valeur comme si dans un composant séparé:Deux voies de liaison avec angulaire 2

<input type="text" [(ngModel)]="this.inputValue" id="itemText"> 

Et dans mon index.html, je mets la valeur de inputValue:

onSelect: function (request, response) { 
      this.inputValue = request.item; 
    } 

Cependant, mon entrée est mise à jour avec cette nouvelle valeur, qu'est-ce que je manque?

Edit: Le composant est donc comme la configuration:

@Component({ 
    selector: 'app-leftpane-table', 
    templateUrl: './leftpane-table.component.html' 
}) 
export class LeftpaneTableComponent implements OnInit { 
    inputValue:any; 
    constructor(private ds: DataService) { } 

    ngOnInit() {} 

Et dans index.html Je suis en train InputValue fois qu'un élément a été sélectionné parmi les résultats de la recherche:

$('.ui.search') 
    .search({ 
    apiSettings: { 
     url: 'http://localhost:8088/Badges/{query}' 
    }, 
    onSelect: function (request, response) { 
     var urlApi = 'http://localhost:8088/Badges/Details/' + request.item; 
     this.inputValue = request.item; 
    } 
}); 

Répondre

0

Ne pas utilisez this dans les modèles angulaires. Votre entrée devrait ressembler à ceci:

<input type="text" [(ngModel)]="inputValue" id="itemText"> 

EDIT:

Lorsque vous faites référence à this en fonction onSelect, vous ne fait pas référence à la composante angulaire - vous référence à la fonction. Ce que vous pouvez faire est de faire référence à this avant que la fonction jQuery:

const componentRef = this; 
$('.ui.search') 
    .search({ 
    apiSettings: { 
     url: 'http://localhost:8088/Badges/{query}' 
    }, 
    onSelect: function (request, response) { 
     var urlApi = 'http://localhost:8088/Badges/Details/' + request.item; 
     componentRef.inputValue = request.item; 
    } 
}); 

Et utiliser cette référence au lieu this mot-clé.

+0

Le même problème persiste – TestNInja

+0

@TestNInja Pourriez-vous fournir plus de code? Il est difficile de détecter une erreur sans cela. –

+0

S'il vous plaît voir modifier – TestNInja