Angular 6 Laravel 5.5: значения радиокнопок не отправлены - PullRequest
0 голосов
/ 24 сентября 2018

Я создал небольшое приложение CRUD, используя Angular и Laravel 5.5.В приложении у меня есть три переключателя, и когда я пытаюсь получить их значения, я получаю сообщение об ошибке ...

Ошибка типа, говорящая о невозможности чтения типа данных

Ниже приведены соответствующие части моих сценариев ...

HTML

<div class="form-group row">
    <label f class="col-sm-5 col-form-label col-form-label-sm">Can you get over unsound mind?
        <span class="req">*</span>

    </label>
    <label class="col-sm-1 col-form-label col-form-label-sm">
        <input type="radio" name="unsound" [(ngModel)]="userDetails.isUnsoundMind" [value]="false"/>
        <span> No</span>
    </label>
    <label class="col-sm-1 col-form-label col-form-label-sm">
        <input type="radio" name="unsound" [(ngModel)]="userDetails.isUnsoundMind" [value]="true"/>
        <span> Yes</span>
    </label>
</div>

TypeScript

constructor(public data: DataService,private userService: UserService, private sanitizer: DomSanitizer, private route: ActivatedRoute, private router: Router, private iNcoreService: IncorporationService, private spinner: NgxSpinnerService, private httpClient: HttpClient) {}

userDataSubmit() {

const data = {
  ....
  isUnsoundMind: this.userDetails['isUnsoundMind'],
  ....
};
console.log(data);
this.userService.userDataSubmit(data)
  .subscribe(
    req => {
      console.log("successful");
    },
    error => {
      console.log(error);
    }
  );

Модель

export interface IUserData {
    ...
    isUnsoundMind: string;
    ...
}

Сервис

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Router } from '@angular/router';
import { APIConnection } from './connections/APIConnection';
import { Observable } from 'rxjs';
import { IUserData } from '../models/user.model';

@Injectable({
  providedIn: 'root'
})
export class UserService {

  url: APIConnection = new APIConnection();

  constructor(private router: Router, private http: HttpClient) { }

  userDataSubmit(data: IUserData): Observable<IUserData> {
    return this.http.post<IUserData>(this.url.getUserDataSubmit(), data);
  }
}

Контроллер

<?php

namespace App\Http\Controllers\API\v1\User;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Address;
use App\User;
use Storage;
use App;
use URL;
use App\Http\Helper\_helper;

class useritorController extends Controller
{
    use _helper;

    public function saveuserData(Request $request)
    {
        $userAddress = new Address();
        $userAddress->address1 = $request->input('localAddress1');

        $userinfo = new user();
        $userinfo->is_unsound_mind = $request->input('isUnsoundMind');
        $userinfo->save();
    }
}

Насколько мне известно, такой ошибки нет во всех вышеперечисленных скриптах, но каждый раз, когда я пытаюсь добавить данные в БД, выдает ошибку, описанную выше. Некоторые говорят, что когда мы добавляем переключатель, появляется небольшой фрагменткода, который будет написан в сценарии TS, но ни один форум не дает надлежащего объяснения по этому поводу.Может ли кто-нибудь помочь мне в этом или дать мне правильное руководство о том, как добавить данные переключателей в таблицу БД с помощью Angular 6 + Laravel 5.5?

1 Ответ

0 голосов
/ 24 сентября 2018

в машинописном коде вы определили данные.попытайтесь определить данные следующим образом и посмотрите, работают ли они:

 const data:IUserData = {
  isUnsoundMind: this.userDetails['isUnsoundMind']
 };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...