我在这里使用切换图标来设置通知活动/非活动。我正在接到来电的响应。 在get call中我得到的通知值为0或1,但我使用noteValue的ts文件是boolean意味着我们传递的是false是假的。
但是从数据库方面我们得到0或1,数据库方面它们只传递变量作为布尔值,但数据库存储的值为0或1。
由于noteValue切换图标工作不正确,意味着如果我刷新应用时传递true或false,它(切换图标)只能显示false。如果切换图标处于活动状态,则传递false值并且切换图标处于非活动状态真实的价值。
HTML:
<ion-item no-lines >
<ion-label class="ion-label"> Notification</ion-label>
<ion-toggle (ionChange)="updateValue()" checked="noteValue"></ion-toggle></ion-item>
.TS:
export class NotificationPage {
public noteValue:boolean;
constructor(private navCtrl: NavController,private user:Users, private productServices:Products, private logger:Logger) {
var _this = this;
// get call
this.productServices. getNotification(function(data){
_this.logger.debug("checking my notification Details" +JSON.stringify(data));
console.log(data.notification);
_this.noteValue = data.notification[0];
console.log(data.notification[0]);
})
}
//post call
updateValue(){
var _this=this;
_this.noteValue = !_this.noteValue; // If _this.noteValue is equal to true, now it will be set to false. If it's false, it will be set to true.
let notificationDetails = {
notification: _this.noteValue
};
console.log(notificationDetails);
this.user.setNotification(notificationDetails, function (result, data) {
_this.logger.debug("checking my notification Details" +data);
if (result=='1') {
console.log( _this.noteValue);
//_this.noteValue=!_this.noteValue;
_this.logger.debug("checking my notification Details" +data);
alert("sucesscall for notification"+data.toString());
}
else {
_this.logger.info("failure Notification");
alert("failure for notification");
}
});
}
}
答案 0 :(得分:0)
如果我理解正确,在DB中您保存的值为0和1,而ion-toggle
期望为true或false,您必须根据这些值启用/禁用它。
如果正确,使用angular2你可以这样做:
<ion-toggle (ionChange)="updateValue()" checked="{{your_DB_variable === 1 ? 'true':'false'}}"></ion-toggle>
根据your_DB_variable
,它会设置为true还是false。
希望我帮助过你。 :)