How do toggle Angular2 use bootstrap 4 modal

蒋子宁
• 阅读 1567

前言

借鉴,是一门学问。 参考文章

本组件是借鉴与思否的添加标签来实现的,很简单。

使用Bootstrap的模态框,再创建标签时,创建完成应该隐藏该模态框,在Angular Component使用Bootstrap模态框中Methods时,遇到一些小的问题!!!

How do toggle Angular2 use bootstrap 4 modal

实现效果:

How do toggle Angular2 use bootstrap 4 modal

引入Bootstrap.js与jquery

首先想要使Bootstrap中模态框生效需要在Angular.json文件下添加Bootstrap.jsjquery,前提是先npm

How do toggle Angular2 use bootstrap 4 modal

jquery一定要放在Bootstrap的前面,否则的话会出现以下的错误

How do toggle Angular2 use bootstrap 4 modal

Angular中使用bootstrap 4 Methods

How do toggle Angular2 use bootstrap 4 modal

想在创建完标签时就不显示模态框了,Bootstrap上给出了方法

How do toggle Angular2 use bootstrap 4 modal

就直接复制到代码上了

How do toggle Angular2 use bootstrap 4 modal

报错:

How do toggle Angular2 use bootstrap 4 modal

找不到Module,尝试区引入该Module,但是并没有该Module,所以换了关键字Goole,解决方法如下

解决办法

我们可以使用@ViewChild()装饰器获取组件中模态框的引用,将其与jQuery一起使用,然后调用Bootstrap模态框中.modal()方法。在模板中声明局部变量,例如 #myModal

How do toggle Angular2 use bootstrap 4 modal

通过@ViewChild()装饰器在组件中使用它

How do toggle Angular2 use bootstrap 4 modal

如果.modal()方法给出错误提示:.modal is not a function

How do toggle Angular2 use bootstrap 4 modal

那么,只需在组件文件中声明一个jQuery变量,如下。

declare var jQuery:any;

@Component({
 ...
})
export class TagSelectComponent implements OnInit{
 ...
}

效果如下:

How do toggle Angular2 use bootstrap 4 modal

ElementRef 的作用

在应用层直接操作 DOM,就会造成应用层与渲染层之间强耦合,导致我们的应用无法运行在不同环境,如 web worker 中,因为在 web worker 环境中,是不能直接操作 DOM。通过 ElementRef 我们就可以封装不同平台下视图层中的 native 元素 (在浏览器环境中,native 元素通常是指 DOM 元素),最后借助于 Angular 提供的强大的依赖注入特性,我们就可以轻松地访问到 native 元素。

参考文章

stackoverflow

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
徐小夕 徐小夕
5年前
手摸手实现一个轻量级可扩展的模态框(Modal)组件
前言本文是笔者写组件设计的第九篇文章,今天带大家实现一个轻量级且可灵活配置组合的模态框(Modal)组件,该组件在诸如Antd或者elementUI等第三方组件库中都会出现,主要用来提供系统的用户反馈.之所以会写组件设计相关的文章,是因为作为一名前端优秀的前端工程师,面对各种繁琐而重复的工作,我们不应该按部就班的去"辛勤劳动",而是要根据已有前端
Stella981 Stella981
4年前
SpringBoot学习:整合shiro自动登录功能(rememberMe记住我功能)
首先在shiro配置类中注入rememberMe管理器!复制代码(https://oscimg.oschina.net/oscnet/675f5689159acfa2c39c91f4df40a00ce0f.gif)/cookie对象;rememberMeCookie()方法是设置Cookie的生成模
Stella981 Stella981
4年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
4年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
4年前
Linux应急响应(四):盖茨木马
0x00前言Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马,主要恶意特点是具备了后门程序,DDoS攻击的能力,并且会替换常用的系统文件进行伪装。木马得名于其在变量函数的命名中,大量使用Gates这个单词。分析和清除盖茨木马的过程,可以发现有很多值得去学习和借鉴的地方。0x01应急场景
Easter79 Easter79
4年前
SpringBoot学习:整合shiro自动登录功能(rememberMe记住我功能)
首先在shiro配置类中注入rememberMe管理器!复制代码(https://oscimg.oschina.net/oscnet/675f5689159acfa2c39c91f4df40a00ce0f.gif)/cookie对象;rememberMeCookie()方法是设置Cookie的生成模
Wesley13 Wesley13
4年前
DOM元素的自动隐藏
在一些有悬浮元素的场景中,比如点击一个按钮弹出菜单后,点击菜单以外的地方,菜单应该被隐藏起来。隐藏的方式最好是自动隐藏,或至少是组件内的自动隐藏。蒙层比如,一个模态框组件(闭包实现)点击蒙层时,响应蒙层的点击事件,可以在事件处理函数中隐藏整个组件。在Vue和React等框架的组件中,这一点非常容易实现。<divclass"com