javascript - 无法使用 jquery 在角度组件中设置表单控件的值?
问题描述
我有一个 Angular 5 ui 项目。我的组件模板 html 中有一个文本区域。我正在尝试使用 jquery 从 component.ts 文件中为文本区域设置一个值。但是它不起作用。知道这里有什么问题。
<textarea id="messageTxt" formControlName="message" rows="6" [placeholder]="'PLACEHOLDERS.MESSAGE' | translate" (keyup)="calculateMessagingSegmentCount(messageTxt.value)" #messageTxt></textarea>
从我的组件中,我正在这样做
@Component({
selector: 'pc-sms-template-form',
templateUrl: './sms-template-form.component.html',
styleUrls: ['./sms-template-form.component.scss']
})
export class SmsTemplateFormComponent implements OnInit {
ngOnInit() {
$('#messageTxt').val("FEDEX@@@@@@ ");
}
}
我已经jquery
正确导入并且没有编译错误但是 textarea 没有设置值FEDEX@@@@@@
。任何想法可能是这种行为背后的原因。我知道jquery
在 angular 组件中使用 typescript 并不是很好。但由于某些特定要求,我必须使用jquery
.
感谢
解决方案
OnInit
在渲染视图之前调用该方法,请改用该AfterViewInit
方法:
@Component({
selector: 'pc-sms-template-form',
templateUrl: './sms-template-form.component.html',
styleUrls: ['./sms-template-form.component.scss']
})
export class SmsTemplateFormComponent implements AfterViewInit{
ngAfterViewInit() {
$('#messageTxt').val("FEDEX@@@@@@ ");
}
}
推荐阅读
- git - GIT 日志图的最佳方法,每个分支都有单独的行
- regex - 提取目录中所有文件的两个关键字之间的字符串
- c - C 分叉进程不断显示在“ps -a”输出中
- html - 垂直居中自定义列表项目符号
- puppeteer - puppeteer:document.querySelector 适用于控制台但不适用于 puppppeteer
- matlab - 如何在MATLAB中循环求解非线性方程
- java - 如何更改spring mockmvc的http端口
- php - PHP中的正则表达式:从另一个字符串中检索特定字符串
- java - 解析字符串对象的名称(Java)
- elasticsearch - 弹性搜索中的通配符和模糊查询