как передать хэш в значение флажка ввода в угловых 6 - PullRequest
0 голосов
/ 21 сентября 2019

это то, что я пробовал, 'я перебираю массив флажков, каждый из которых выглядит следующим образом: item of items:

 <input type="checkbox" [value]="{'a': item.title, 'b': item.id}" (change)="onCheckChange($event)">

myComponent.ts

onCheckChange($event){
    console.warn($event.target.value);
}

//output on console: "[object Object]" .....as a string

в идеале, я хочу массив значений хеш-функции. Как я могу отправить этот вход?

Ответы [ 3 ]

1 голос
/ 21 сентября 2019

Вместо привязки свойства вы можете использовать интерполяцию, чтобы получить желаемый результат как

value="'{a: {{item.title}}, b: {{item.id}}'"

Хотя я все еще чувствую, что могут быть более эффективные способы достижения того, что вы пытаетесь

1 голос
/ 21 сентября 2019

Вы можете получить входные данные в виде JSON.parse ($ event.target.value);в функции on Change, которая даст вам правильный объект, который можно использовать для создания массива хеш-значений.

console.warn (JSON.parse ($ event.target.value);):

Итак, здесь вы получите правильный объект, а не строку.Если значения объектов не выводятся в консоли должным образом, вы можете просто использовать JSON.stringify ($ event.target.value);Чтобы увидеть фактическое значение, отправленное в правильном формате строки, а не как "[объект объекта]"

1 голос
/ 21 сентября 2019

Разве ты не можешь просто

 <input type="checkbox" (change)="onCheckChange({'a': item.title, 'b': item.id})">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...