到目前为止,我能够将值传递给使用NavParams
推送的页面,现在问题是我必须将值从页面A传递到页面B仅在条件满足时才传递在页面A上。以前传递单个值我使用下面的代码,它起作用:
addNewContact(event) {
event.stopPropagation();
this.navCtrl.push(EditContactPage, {
isAdd: "true",
});
}
我尝试使用以下代码传递另一个值:
addNewContact(event) {
event.stopPropagation();
this.navCtrl.push(EditContactPage, {
isAdd: "true",
if(isLocal) {
isLocalContact : "true" // ERROR: Unused Label.
}
});
}
有人可以解释我在这里做错了什么。提前谢谢。
答案 0 :(得分:3)
您无法在对象分配中编写if
语句。因此,您可以使用ternary operators
。
请尝试以下代码。
this.navCtrl.push(EditContactPage, {
isAdd: "true",
isLocalContact : isLocal ? "true" : "false"
});
答案 1 :(得分:1)
对象无法添加类似的属性,您必须执行以下操作:
addNewContact(event) {
event.stopPropagation();
const navObj = {
isAdd: "true"
};
if (isLocal) {
navObj.isLocalContact = 'true';
}
this.navCtrl.push(EditContactPage, navObj);
}
这将允许您仅在需要时添加属性
答案 2 :(得分:1)
你只需要这样做:
addNewContact(event) {
this.isLocalContact =false;
if(isLocal) {
this.isLocalContact =true;
}
event.stopPropagation();
this.navCtrl.push(EditContactPage, {
isAdd: "true",
isLocalContact : this.isLocalContact
}
});
}