是否可以将click事件绑定到插值?因为当我尝试执行以下代码时,我得到以下内容
错误错误:未捕获(承诺):
错误:模板解析错误:
分析器错误:插值({{}})其中表达式位于[upload({{config.fileLocation}})]的第7列
这是我们有错误插值的模板,
<mat-card-actions>
<button mat-raised-button type="button" (click)="upload({{config.fileLocation}})">Upload</button>
</mat-card-actions>
这是希望执行的角度分量。
upload(location = "/tmp/") {
this.loader.open();
const fileBrowser = this.fileInput.nativeElement;
if (fileBrowser.files && fileBrowser.files[0]) {
const formData: FormData = new FormData();
formData.append('file', fileBrowser.files[0]);
formData.append('data', JSON.stringify({
"method": "filesystem.put",
"params": [location + fileBrowser.files[0].name, { "mode": "493" }]
}));
this.http.post(this.apiEndPoint, formData).subscribe(
(data) => {
this.loader.close();
this.snackBar.open("your files are uploaded", 'close', { duration: 5000 });
},
(error) => {
this.loader.close();
this.dialog.errorReport(error.status, error.statusText, error._body);
}
);
};
}
答案 0 :(得分:3)
只需
(click)="upload(config.fileLocation)"
切勿将{{}}
与[foo]="..."
或(bar)="..."
[]
和()
已将该属性标记为Angular绑定。
{{}}
也只允许字符串绑定(将每个值字符串化),而其他字符串允许绑定对象值。