簡體   English   中英

角度材質滑塊值是true,但我想將其轉換為1

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM