关于隐式创建vue实例实现简化弹出框组件显示步骤
我们在使用vue写alert组件的时候,经常是定义了一个alert.vue,然后引入alert.vue,然后配置参数等等,非常繁琐,那有没有一种方式可以像window.alert("内容")那样简单调用呢?
答案是有的,
vue.extent会返回一个预设了部分选项的Vue实例构造器,既然是vue实例构造器 那我们理论上是可以像new Vue({})那样去new 这个extent实例的,vue还提供了$amount,表示挂在到节点上,这样我们理论上可以这样:
var author = Vue.extend({
template: "<p><a>helloe</a></p>"
});
function addEle(){
new author({propsData:{author:"zhuwei"}}).$mount("#author");
}
我们通过调用addEle方法就动态在ID为author节点上渲染了一个vue(前提是html界面已经存在ID为author的节点),到现在为止好像没什么特别的,如果我们在addEle方法里面直接创建一个ID为author的节点呢
function addEle(){
var authorEle = document.createElement("div");
authorEle.setAttribute("ID","author");
document.body.appendChild(authorEle);
new author().$mount("#author");
}
这样至少html部分我们不需要添加这个ID为author的节点了,然后因为是弹出框组件,所以我们需要暴露出一个属性显示用户希望显示的信息,这里面我们使用propsData,它可以在new vue({})的实例中指定属性值,vue本意说是为了方便测试,这里我们拿过来用来给我们的extent实例传递显示信息:
function addEle(msg){
var authorEle = document.createElement("div");
authorEle.setAttribute("ID","author");
document.body.appendChild(authorEle);
new author({propsData:{author:msg}}).$mount("#author");
}
这样当用户想弹出框的时候,直接点击addEle("hello world")就可以弹出信息,当然具体的弹出框组件我并没有写,这里面只是说出设计思想,细节大家都可以实现
关于隐式创建vue实例实现简化弹出框组件显示步骤的更多相关文章
- 基于Vue.js PC桌面端弹出框组件|vue自定义弹层组件|vue模态框
vue.js构建的轻量级PC网页端交互式弹层组件VLayer. 前段时间有分享过一个vue移动端弹窗组件,今天给大家分享一个最近开发的vue pc端弹出层组件. VLayer 一款集Alert.Dia ...
- Vue使用 weui picker 弹出框不消失
前言 最近使用 weui 里面的 datepicker 组件的时候遇到了一个问题: 弹出来 选择年月日的框之后,直接点击导航上的“返回” 按钮,picker 选框不消失,也就是弹出框不消失 weui. ...
- Bootstrap历练实例:弹出框(popover)事件
事件 下表列出了弹出框(Popover)插件中要用到的事件.这些事件可在函数中当钩子使用. 事件 描述 实例 show.bs.popover 当调用 show 实例方法时立即触发该事件. $('#my ...
- Vue.js官方文档学习笔记(三)创建Vue实例
创建Vue实例 每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的: var vm=new Vue({ //选项 }) Vue的设计受到了mvvm的启发 当创建一个 Vue 实 ...
- vue实战记录(二)- vue实现购物车功能之创建vue实例
vue实战,一步步实现vue购物车功能的过程记录,课程与素材来自慕课网,自己搭建了express本地服务器来请求数据 作者:狐狸家的鱼 本文链接:vue实战-实现购物车功能(二) GitHub:sue ...
- oracle的约束隐式创建索引和先索引后约束的区别
oracle的约束隐式创建索引和先索引后约束的区别 两种情况:1.对于创建约束时隐式创建的索引,在做删除操作的时候: 9i~11g都会连带删除该索引 2.对于先创建索引,再创建约束(使用到此索引)这种 ...
- 0807 创建vue实例以及vue的基础指令
lession1 1.Vue的了解 渐进式框架 作者:尤雨溪 mvvm 2.创建vue实例 引入<script src="vue.js"><scr ...
- vue.js(1)--创建vue实例的基本结构
vue实例基本结构与MVVM框架 (1)vue实例基本结构 <!DOCTYPE html> <html lang="en"> <head> &l ...
- vue封装公用弹出框方法,实现点击出现操作弹出框
vue封装公用弹出框方法,实现点击出现操作弹出框 如上图所示,这次要实现一个点击出现操作弹框的效果:并将这个功能封装成一个函数,便于在项目的多个地方使用. 具体思路是: 封装一个组件,组件保护一个插槽 ...
随机推荐
- Qt QLabel 显示gif动图
#include <QMovie> QMovie * move = new QMovie(":/gif/牵着我的手去浪迹天涯.gif"); ui->label_g ...
- asyncio之Coroutines,Tasks and Future
asyncio之Coroutines,Tasks and Future Coroutines and Tasks属于High-level APIs,也就是高级层的api. 本节概述用于协程和任务的高级 ...
- Java设计模式之动态代理
关于Proxy: 1,他是所有动态代理的父类: 2,他可以用作创建动态代理类和动态代理对象: 3,JDK中自带的动态代理. 1,首先创建一个接口,方法申明如下: package com.proxy; ...
- UnityWebRequest http post json通信
unity3d 提供了一个用于http通信的类叫:UnityWebRequest,它是www的替代者,所以建议使用这个类.我们这个例子以json格式与服务器通信.这里使用的json组件是:Newton ...
- Python笔记之数据类型
数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定 ...
- Oracle 11g 概述 chaper1
关系模型 E-R 模型 范式 1.简述Oracle oracle 是1977 IBM 公司研发的一款强大的数据库软件. 2.关系型数据的基本理论 关系型数据库与数据库管理系统 1)数据库是因为有对 ...
- HBase指定大量列集合的场景下并发拉取数据时卡住的问题排查
最近遇到一例,HBase 指定大量列集合的场景下,并发拉取数据,应用卡住不响应的情形.记录一下. 问题背景 退款导出中,为了获取商品规格编码,需要从 HBase 表 T 里拉取对应的数据. T 对商品 ...
- 问题 1923: [蓝桥杯][算法提高VIP]学霸的迷宫 (BFS)
题目链接:https://www.dotcpp.com/oj/problem1923.html 题目描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗.但学霸为了不要别人打扰,住在 ...
- ubuntu 下安装 navicat 12
一.去官网下载navicat112_premium_cs_x64 for linux版本二.用tar解压安装包三.navicat解压即可用,直接进入解压后的目录,然后用‘./’运行start_navi ...
- golang获取文件的md5
直接展示代码 func md5sum(filepath string) (string, error) { f, err := os.Open(filepath) if err != nil { st ...