Nativescript开关不触发初始绑定
我的观点是Nativescript开关不触发初始绑定,nativescript,Nativescript,我的观点是 实际上,我是通过API调用绑定活动值的,问题是onCheckChange在使用false值的初始绑定期间执行,因此每当我最初通过API服务调用设置active==true并加载页面时,onCheckChange将使用checked==false执行,谁能给我一个关于这个的想法吗 注意:Nativescript的初学者我经常与checked属性斗争,因此我选择了双向绑定,其行为与预期一致: // test.xml <Switch [(ngModel)]="isUnico
实际上,我是通过API
调用绑定活动值的,问题是onCheckChange
在使用false值的初始绑定期间执行,因此每当我最初通过API服务调用设置active==true
并加载页面时,onCheckChange
将使用checked==false
执行,谁能给我一个关于这个的想法吗
注意:Nativescript的初学者我经常与checked属性斗争,因此我选择了双向绑定,其行为与预期一致:
// test.xml
<Switch [(ngModel)]="isUnicorn"></Switch>
// test.ts
isUnicorn: boolean = true;
......
if (this.isUnicorn) {
console.log("It is a unicorn");
}
我经常与checked属性斗争,因此选择了双向绑定,其行为与预期一致:
// test.xml
<Switch [(ngModel)]="isUnicorn"></Switch>
// test.ts
isUnicorn: boolean = true;
......
if (this.isUnicorn) {
console.log("It is a unicorn");
}
(由leoncc描述)可能特定于Angular NativeScript
这里有一个没有双向数据绑定的解决方法,如果需要的话,希望可以更容易地移植到普通的NativeScript
在控制器中,我们可以通过ViewChild
查询获得开关的状态:
checked = true;
@ViewChild ('switch') private switch: ElementRef;
switched() {
let switch: Switch = this.switch.nativeElement;
this.checked = switch.checked}
在模板中,我们应该调用切换的更改处理程序:
<Switch #switch [checked]="checked" (checkedChange)="switched()" class="switch"></Switch>
(由leoncc描述)可能特定于Angular NativeScript
这里有一个没有双向数据绑定的解决方法,如果需要的话,希望可以更容易地移植到普通的NativeScript
在控制器中,我们可以通过ViewChild
查询获得开关的状态:
checked = true;
@ViewChild ('switch') private switch: ElementRef;
switched() {
let switch: Switch = this.switch.nativeElement;
this.checked = switch.checked}
在模板中,我们应该调用切换的更改处理程序:
<Switch #switch [checked]="checked" (checkedChange)="switched()" class="switch"></Switch>
选中的是DO属性,而在NativeScript PropertyChanged中,DO更改后会“抛出”,这就是您的值“滞后”的原因。在这种情况下,您可以通过类似这样的依赖性可观察(DO)直接更改值,而不是使用propertyCahnge@NickIliev我在这里重新创建了一个实际问题,请给我一个带有依赖关系ObserviceChecked is DO属性的答案,并且在NativeScript PropertyChanged中,在DO更改后“抛出”,因此这就是您的值“落后”的原因。在这种情况下,您可以通过类似这样的依赖性可观察(DO)直接更改值,而不是使用propertyCahnge@NickIliev我在这里重新创建了实际问题,请给我一个可以观察到依赖性的答案