我正在尝试访问输入字段的值。 这是示例代码
<div>
Test <input #test1 type="number" [value]='somevalue'/>
</div>
<div *ngIf='some-condition'>
Test <input #test2 type="number" [value]='somevalue'/>
</div>
<span (click)="testData(test1,test2)">test<span>
Angular Code
testData(testa,testD)
{
Console.log(testa);
Console.log(testD);
}
在上面的代码中,第一个div工作正常,但我试图在第二个div中做同样的事情。它给了我不确定的价值。我知道错过了什么。
如果条件是假的,那么它给我的undefined很好,但是当条件为真时,它也给了我未定义的值。
答案 0 :(得分:0)
试试这个: -
var accounts = new List<Account>();
var context = new YourDbContext();
context.Configuration.AutoDetectChangesEnabled = false;
foreach (var account in apiData)
{
accounts.Add(account);
if (accounts.Count % 1000 == 0)
// Play with this number to see what works best
{
context.Set<Account>().AddRange(accounts);
accounts = new List<Account>();
context.ChangeTracker.DetectChanges();
context.SaveChanges();
context?.Dispose();
context = new YourDbContext();
}
}
context.Set<Account>().AddRange(accounts);
context.ChangeTracker.DetectChanges();
context.SaveChanges();
context?.Dispose();
此处的工作示例<div>
Test <input #test1 type="number" [value]='somevalue' (click)="testData(test1.value)"/>
</div>
<div *ngIf='some-condition'>
Test <input #test2 type="number" [value]='somevalue' (click)="testData(test2.value)"/>
</div>
testData(testD)
{
Console.log(testD);
}
Working Example
答案 1 :(得分:-1)
您可以使用[hidden]而不是* ngIf。 在* ngIf中声明的变量不能在其外部使用。
<div>
Test <input #test1 type="number" [value]='somevalue'/>
</div>
<div [hidden] ='somecondition'>
Test <input #test2 type="number" [value]='somevalue'/>
</div>
<span (click)="testData(test1.value,test2.value)">test</span>
请参阅此链接以获取更多说明https://github.com/angular/angular/issues/6179