如何解决从onDeactivate访问p-inplace内容值
我正在用p-place代替primeNg。我想在调用onDeactivate
时使用pTemplate content的值来调用一个函数。
代码段:
<p-inplace [closable]="true" (onDeactivate)="doSomething(???)">
<ng-template pTemplate="display">
<label>xxx</label>
</ng-template>
<ng-template pTemplate="content">
<input type="text" #myInput pInputText [ngModel]="someReadonlyInitialData">
</ng-template>
</p-inpace>
我要发送输入到myInput的值,其中???是。如果不在模板中,则可以通过doSomething(myInput.value)
发送,但是由于它在模板中,因此无法在模板中识别。
有人对此有解决方案或解决方法吗?
解决方法
很遗憾,您不能使用已经知道的template-variable-reference。
我要解决的问题是将更改保存到模板中的另一个变量中,以便您可以在需要时使用它,并将模板函数doSomething()
中的参数保留为空。
<p-inplace [closable]="true" (onDeactivate)="doSomething()">
<ng-template pTemplate="display">
<label>xxx</label>
</ng-template>
<ng-template pTemplate="content">
<input type="text" #myInput pInputText [ngModel]="someReadonlyInitialData" (ngModelChange)="someData = $event">
</ng-template>
</p-inpace>
在您的ts文件中:
someData: string;
doSomething() {
/* now your value is inside this.someData /*
}
PS:我想您不想使用双向绑定,如果您不介意,则无需创建第二个变量。您可以:
[(ngModel)]="someData"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。