html
<input #box (keyup.enter) = "Character(box.value)"/>
машинопись
Character(value: string) {
console.info("print this " + value);
}
Я подтвердил код машинописного текста в двух разных местах в сети и получил html-код из другого ответа здесь, и хотя функция машинописного текста выполняет «значение», просто не будет печататься на консоли. Я даже изменил тему своего браузера, думая, что в какой-то момент это мешало. (потому что он меняет цвет текстовых полей и на некоторых сайтах текст смешивается с полем)
Обновлять Как вы можете понять из выбранного ответа, я не осознавал, что моя проблема заключалась в том, что у меня было два текстовых поля, которые вызывали проблему, потому что значение не просто передавалось обоим, как я предполагал.
Работает, можете проверить здесь stackblitz.com/edit/angular-2hkxz1
@trichetriche Я подумал, что, возможно, именно поэтому меня проголосовали против, но я не знаю, что еще это показывает. Проект сделан из ng new, и большая часть кода по-прежнему остается этим материалом.
что вы можете сделать, так это обернуть вводимые данные в тег формы, например:
<form (ngSubmit) = "submit()">
<input type = "text" [(ngModel)] = "name" name = "name">
</form>
В машинописном тексте:
name = '';
submit() {
console.info(this.name);
}
Функция машинописного текста работает должным образом, но текст переменной не отображается. ibb.co/jyhznf
@ codehelp4 он вызовет метод отправки, когда вы нажмете ввод
Это работает, как ожидалось:
См .: https://stackblitz.com/edit/angular-jcrcdu?file=src%2Fapp%2Fapp.component.html
app.component.html
<input #box (keyup.enter) = "Character(box.value)"/>
<p>{{box1name}}</p>
<input #box2 (keyup.enter) = "onEnter(box2.value)"/>
<p>{{box2name}}</p>
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
box1name = 'Angular';
box2name = 'Angular2';
Character(value: string) {
this.box1name = "print this for box1 :" + value;
console.info(this.box1name);
}
onEnter(value: string) {
this.box2name = "print this for box2: " + value;
console.info(this.onEnter);
}
}
Это так странно, потому что в моей консоли Firefox это не отображается. Смотрите мой скриншот. ibb.co/jyhznf
это работает в firefox, также нажмите клавишу ввода после ввода
Я сделал это, как другой текст, который является прямой строкой, запускается для печати. (текст, показанный на скриншоте) Я попробую dev firefox.
какую версию firefox вы используете
демоверсия, которую вы опубликовали, мне тоже подходит, но моя собственная - нет. Версия ff - версия ff Quantum 63.0 dev не имела значения.
можете ли вы добавить свой код для рассматриваемого файла .html и .ts?
Позвольте нам продолжить обсуждение в чате.
Честность, почему голос против?