Pesquisa de site

angular - Problema ao abrir modal do Bootstrap 5 via TypeScript


Como você pode saber, o Bootstrap 5 foi lançado e, para abrir modal via JavaScript, o site oficial oferece o código abaixo.

var myModal = new bootstrap.Modal(document.getElementById('myModal'), options)
myModal.toggle()

O problema é que estou desenvolvendo uma aplicação front-end usando Angular 11 no modo estrito, então neste caso o TypeScript não me permite usar new bootstrap.Modal porque ele não existe. Então, por favor, me diga alguma solução.

Resposta #1

Se você está tentando usar o bootstrap com TypeScript, você provavelmente precisará de algumas tipagens para acompanhar. Sua configuração pode variar um pouco, mas olhando a documentação e usando as tipagens do NPM, você provavelmente pode começar com

npm install bootstrap@next @types/bootstrap

neste ponto, se você precisar instanciar um plugin, ou seja, um modal, a documentação especifica

const bootstrap=require('bootstrap') ou import bootstrap from 'bootstrap' carregará todos os plugins do Bootstrap em um objeto bootstrap. O próprio módulo bootstrap exporta todos os nossos plugins. Você pode carregar manualmente os plugins do Bootstrap individualmente carregando os arquivos /js/dist/*.js sob o diretório de nível superior do pacote.

No seu caso específico, acredito que o que você está tentando fazer é algo semelhante ao seguinte:

import 'bootstrap/dist/css/bootstrap.css';
import { Modal } from 'bootstrap';

const element = document.getElementById('myModal') as HTMLElement;
const myModal = new Modal(element);
myModal.show();

Artigos relacionados