[英]Angular material slider value is true but i want to transform it to 1
我的問題是我的組件html文件中有一個滑塊。 該組件從postgresql數據庫獲取值。 如果在數據庫中數據列為1,則滑塊為true;如果為0,則滑塊為false。 (True =活動,False =不活動)在我的服務和組件中,我想更新這些滑塊值。 因此,如果我單擊滑塊,請更改值並將其放入數據庫。 在我的組件中,我嘗試將此值設為1,如果值為true或false,則設為0。 調試器沒有顯示任何類型的錯誤,我看到它將對象發布到后端,但是沒有將其寫入數據庫。 我發布的對象是{username: username1, source_id: 4, **data: 1**}
,但是我回來的是錯誤的,因為它看起來像那樣。
{username: username1, source_id: 4, **data: true**}
{username:username2, source_id: 3, **data: 0**}
所以我想要的是,如果滑塊為true,則組件將其值設為1並將其放入數據庫中;如果滑塊值為false,則將其值為0值並將其放入數據庫中。
HTML:
<mat-slide-toggle
class="example-margin"
[(ngModel)]='user.data'
[color]="warn"
[checked]="user.data == 'true' ? true : false"
[disabled]="disabled"
(change)=updateUserActivation(user) >
</mat-slide-toggle>
零件:
updateUserActivation(user) {
var slidervalue = user.data
if (user.data == true ) slidervalue = 1
else { slidervalue = 0 };
console.log(slidervalue)
var newUserActivationStatus = {
data: slidervalue,
username: user.username,
country: user.source_id
};
console.log(newUserActivationStatus);
console.log(`Updating USER Status : ${user.username}`);
const result = this.usercontrolService.updateUserActivation(newUserActivationStatus)
result.subscribe(newUserStatus => {
this.users.push(newUserStatus)
console.log(this.users, newUserActivationStatus);
})
}
服務:
updateUserActivation(data) {
var headers = new Headers();
headers.append('Content-Type', 'application/json');
console.log(data)
return this.http.put(BASE_URL + 'user/' + data.username, data, { headers: headers })
.map(res => res.json());
}
后端API查詢:
function updateUserActivationStatus(req, res, next) {
db.none('UPDATE accounts SET data=$1 WHERE username=$2 AND source_id=$3',
[req.body.data, req.body.username, req.body.source_id, parseInt(req.body.launched), parseInt(req.params.source_id)] )
.then(function (user) {
res.status(200)
.json({
status: 'success',
user: user,
message: 'Updated UserStatus'
});
console.log(req.body)
})
.catch(function (err) {
return next(err);
});
}
是否可以在此處發布user.data值? 需要檢查您從后端獲取什么數據
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.