无法打印字段值。抛出"无法读取属性'推送'未定义" 错误
我的component.html
$file = Get-Content $_.FullName
if ((Get-Content $file | %{$_ -match $wordToFind}) -contains $true) {
Add-Content log.txt $_.FullName
($file) | ForEach-Object { $_ -replace $wordToFind , $wordToReplace } |
Set-Content $_.FullName
}
我的component.ts
<div class="checkbox abc-checkbox abc-checkbox-success">
<input class="inputChk" value="Serial_Number" id="ser_num" type="checkbox" checked="true">
<label for="Serial_Number">Serial Number</label>
</div>
<div class="checkbox abc-checkbox abc-checkbox-success">
<input class="inputChk" value="Stock_Number" id="stk_num" type="checkbox" checked="true">
<label for="Stock_Number">Customer Stock Number</label>
</div>
<button type="button" class="btn btn-primary" (click)="submitCheckedValues()">Submit</button>
答案 0 :(得分:5)
存在此错误,因为this.fields
未指向类的fields
属性。 this
代表匿名函数的范围。
在执行代码之前,您需要将引用保存在局部变量中:
submitCheckedValues(){
let self = this; // Store the reference
$('input:checkbox.inputChk').each(function () {
var sThisVal = (this.checked ? $(this).val() : "");
//printing sThisVal;
if(sThisVal){
self.fields.push(sThisVal); // Use the reference of self here
}
});
console.log(this.fields);
}
答案 1 :(得分:0)
如果您想尝试
,我想提供另一种解决方案 $.each([1, 2, 3], (function(i, e) {
console.log(this);
}).bind(this));
您可以使用此功能绑定每个功能,然后您可以在每个功能中进行访问。