Angular: как получить входное значение, используя $this

Я надеюсь получить входное значение внутри функции keyup, которая может запускаться из нескольких входов. Каждый раз при нажатии клавиши функция будет срабатывать в соответствии с конкретным вводом. Итак, я пытаюсь использовать $this внутри функции. Пока безуспешно. HTML-код:

<input ng-keyup="getRxcui()" placeholder="Type med a" id="medicineA" />
<input ng-keyup="getRxcui()" placeholder="Type med b" id="medicineB" />

Угловой код:

var rxConflicts = angular.module('rxConflicts', []);

rxConflicts.controller('MainController', function($scope, $http){
    $scope.getRxcui = function(event){

        // getting the value for each medicine input
        var medValue = $(this).value;
        console.log(medValue);

    }
});

Я почти уверен, что $(this) - правильный способ сделать это, так что мне не нужно дублировать эту функцию для каждого ввода и использовать ng-модель... Вы можете поверить мне на слово, что angular работает нормально. Любая помощь приветствуется. Спасибо


person Alon Weissfeld    schedule 10.06.2015    source источник
comment
Вы знаете, что $(this) — это jquery?   -  person Robin-Hoodie    schedule 10.06.2015
comment
да, как я могу добиться этого в angular?   -  person Alon Weissfeld    schedule 10.06.2015
comment
Похоже, кто-то уже ответил на этот вопрос для вас :)   -  person Robin-Hoodie    schedule 10.06.2015
comment
да :) все равно спасибо   -  person Alon Weissfeld    schedule 10.06.2015


Ответы (2)


используйте ng-модель и передайте ее в функцию:

<input ng-keyup="getRxcui(medicineA)" ng-model="medicineA" placeholder="Type med a" id="medicineA" />
<input ng-keyup="getRxcui(medicineB)" ng-model="medicineB" placeholder="Type med b" id="medicineB" />

Угловой код:

var rxConflicts = angular.module('rxConflicts', []);

rxConflicts.controller('MainController', function($scope, $http){
    $scope.getRxcui = function(value){

        // getting the value for each medicine input
        var medValue = value;
        console.log(medValue);

    }
});
person user3227295    schedule 10.06.2015

Угловой 2 и выше:

Вы можете передать $event на keyUp и использовать его для получения цели (ввода) и ее значения. Если вы используете formControls и не привязываетесь напрямую через ngModel

HTML шаблона:

<input (keyup)="getRxcui($event)">

Компонент.ts

getRxcui(event){

   var inputValue = event.target.value;
   console.log(inputValue);

}
person adutra    schedule 30.01.2018