Метод JavaScript для создания материала из компонента Angular 7 - PullRequest
0 голосов
/ 11 января 2019

* Решил это с помощью: 'Declare Var MD: любой;' после импорта *

Я создаю веб-сайт, на котором я использую «креативный шаблон для панели инструментов». Я использую средство выбора даты и времени, проблема, с которой я сталкиваюсь, заключается в том, что средство выбора DateTime инициализируется только один раз, и «оно работало, когда компонент и загружался в первый раз, но когда я переключаю компоненты, тогда средство выбора DateTime перестает работать»

решение, которое я обнаружил, заключается в том, что мне приходится инициализировать средство выбора DateTime каждый раз, когда компонент загружается с использованием метода initialize в компоненте. но затем я получаю сообщение об ошибке src / app / components / booktrip / booktrip.component.ts (24,5): ошибка TS2304: не удается найти имя «md».

вот мой код

 import { Component, OnInit } from '@angular/core';
 import { FormBuilder, FormGroup,FormControl, Validators } from '@angular/forms';
 import { Trip } from '../../mockups/trip.mockup';

 @Component({
   selector: 'app-book-trip',
   templateUrl: './book-trip.component.html',
   styleUrls: ['./book-trip.component.css']
 })
 export class BookTripComponent implements OnInit {
   constructor(private formBuilder: FormBuilder) { }
   ngOnInit() {
     md.initFormExtendedDatetimepickers();
   }
   bookTrip(trip) {
     console.log(trip);
   }
}

Мой angular.json

 "scripts": [
          "src/assets/js/core/jquery.min.js",
          "src/assets/js/core/popper.min.js",
          "src/assets/js/core/bootstrap-material-design.min.js",
          "src/assets/js/plugins/perfect-scrollbar.jquery.min.js",
          "src/assets/js/plugins/moment.min.js",
          "src/assets/js/plugins/sweetalert2.js",
          "src/assets/js/plugins/jquery.validate.min.js",
          "src/assets/js/plugins/jquery.bootstrap-wizard.js",
          "src/assets/js/plugins/bootstrap-selectpicker.js",
          "src/assets/js/plugins/bootstrap-datetimepicker.min.js",
          "src/assets/js/plugins/jquery.dataTables.min.js",
          "src/assets/js/plugins/bootstrap-tagsinput.js",
          "src/assets/js/plugins/jasny-bootstrap.min.js",
          "src/assets/js/plugins/fullcalendar.min.js",
          "src/assets/js/plugins/jquery-jvectormap.js",
          "src/assets/js/plugins/nouislider.min.js",
          "src/assets/cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/core.js",
          "src/assets/js/plugins/arrive.min.js",
          "src/assets/buttons.github.io/buttons.js",
          "src/assets/js/plugins/chartist.min.js",
          "src/assets/js/plugins/bootstrap-notify.js",
          "src/assets/js/material-dashboard.min40a0.js",
          "src/assets/demo/demo.js",
          "src/assets/demo/jquery.sharrre.js"
        ]

и ошибка, которую я получаю, Error

Я не могу создать производственную сборку.

Я застрял слишком долго .. есть ли какое-нибудь возможное решение ??

1 Ответ

0 голосов
/ 11 января 2019

Я думаю, что это всего лишь ошибка TypeScript, и что md на самом деле определено - просто TypeScript не знает об этом -.

Вы пытались импортировать его непосредственно в файлы, где вы используете md?

import * as md from 'material-dashboard';

Подробнее об этом можно прочитать здесь: https://hackernoon.com/how-to-use-javascript-libraries-in-angular-2-apps-ff274ba601af

Вот как я думаю должен выглядеть ваш компонент, в конце концов:

import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup,FormControl, Validators } from '@angular/forms';
import { Trip } from '../../mockups/trip.mockup';

import * as md from 'material-dashboard';

 @Component({
   selector: 'app-book-trip',
   templateUrl: './book-trip.component.html',
   styleUrls: ['./book-trip.component.css']
 })
 export class BookTripComponent implements OnInit {
   constructor(private formBuilder: FormBuilder) { }
   ngOnInit() {
     md.initFormExtendedDatetimepickers();
   }
   bookTrip(trip) {
     console.log(trip);
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...