自己写的一个Vue】的更多相关文章

如何写好一个vue组件,老夫的一年经验全在这了 一个适用性良好的组件,一种是可配置项很多,另一种就是容易覆写,从而扩展功能 Vue 组件的 API 来自三部分——prop.事件和插槽: prop 允许外部环境传递数据给组件 event 允许从组件内触发外部环境的副作用 slot 允许外部环境将额外的内容组合在组件中 prop 组件具有自身状态,当没有相关 porps 传入时,使用自身状态完成渲染和交互逻辑:当该组件被调用时,如果有相关 props 传入,那么将会交出控制权,由父组件控制其行为 仅…
下面这里是我自己写的一个小型的vue,原理就是proxy: //Proxy天生没有prototype,因此要加上,不然extends会报错 Proxy.prototype = Proxy.prototype || Object.prototype class myVue extends Proxy { constructor(options) { let data = options.data || {} super(data, { get(target, name, proxy) { if(n…
伴随着Vue的诞生,它似乎就被人寄予厚望,不仅仅是因为其轻量级的MVVM设计方式,而且其实现了组件化开发模式,所以越来越多的人会拿Vue和AngularJS.React Native做比较.具体关于它们的比较,我不做过多描述,使用哪个应该根据使用场景出发. Vue.js 最近,因为有业务需要使用Vue去开发,所以我们需要自己封装出Vue.js的各种常用组件.今天就给大家介绍一下我封装Vue的icon组件的过程.当然这篇文章不是Vue.js,Webpack类的基础教学课程,而是在大家有些基础的情况…
1,项目简介 写在前面===>这是一个vue+antdv的后台管理模板 项目地址: https://github.com/BaiFangZi/vue-antd-manage 1.1,概述 ​ 最近经常使用ant-design-vue框架,一方面为了沉淀一下自己,另一方面也为了以后能够用这套框架快速开发,我抽空用它搭了一个后台管理模板,欢迎大家学习讨论,功能持续集成中...各位同学走过路过感兴趣可以点个star支持一下(2021.3.1)目前基本骨架已搭建完成 1.2,技术栈 vue+vuex+…
写一个vue组件 我下面写的是以.vue结尾的单文件组件的写法,是基于webpack构建的项目.如果还不知道怎么用webpack构建一个vue的工程的,可以移步到vue-cli. 一个完整的vue组件会包括一下三个部分: template:模板 js: 逻辑 css : 样式 每个组件都有属于自己的模板,js和样式.如果将一个页面比喻成一间房子的话,组件就是房子里的客厅.卧室.厨房.厕所.如果把厨房单独拿出来的话,组件又可以是刀.油烟机...等等.就是说页面是由组件构成的,而组件也可以是组件构成…
写Vue或者是react 都会遇见弹框的问题.也尝试了多种办法来写弹框,一直都不太满意,今天特地看了一下 Element UI 的源码,模仿着写了一个简易版. 大概有一下几个问题: 1.弹框的层级问题,如果在嵌套的组件里面使用了弹框,可能会出现弹框的层级不够高 2.弹框的函数调用方式 首先第一点:弹框的层级 如果将弹框放置在最外层,body下面.就不会有层级问题. 第二点:弹框的函数调用 首先我们可以思考,将组件的实例拿到,然而初学的时候好像只有 通过  refs 能拿到组件的对象,然后调用显示…
vue validate多表单验证思考 之前写过一个里外层,现在觉得不合适,应该平行的写,然后都给ret,最后判断ret 再做出反应,这样整体表单的所有验证就都报验证,然后最后提交的时候把组件内的对象合并到总的对象,再提交 this.$refs.addpurchaseForm.validate…
用vue.js写的一个瀑布流的组件:https://segmentfault.com/a/1190000010741319 https://www.jianshu.com/p/db3cadc03402…
在学习了 vue 之后,决定做一个小练习,仿写了一个有关购物商城的小项目.下面就对项目做一个简单的介绍. 项目源码: github 项目的目录结构 -assets 与项目有关的静态资源,包括 css,以及一些 images -common 公共的工具类方法 -components 公共组件 -common 与项目耦合度较低的组件 -content 与项目耦合度较高的组件 -network 网络请求相关 -router 路由相关 -store vuex 相关 -views 主要展示的页面 -hom…
源码 耗时半载(半个月)的大项目终于完成了.这是一个博客系统,使用 Vue 做前端框架,Node + express 做后端,数据库使用的是 MongoDB.实现了用户注册.用户登录.博客管理(文章的修改和删除).文章编辑(Markdown).标签分类等功能. 很早之前就想写一个个人博客.学了 Vue 之后,把前端部分写出来,然后 Node 一直拖拖拉拉的学了很久,中间又跑去实习了一段时间,所以直到回学校之后才列了个计划把这个项目实现了. 翻出之前写的前端部分,好丑啊,干脆推掉重写吧.前端模仿的…
前言 这是我封装的第一个Vue插件,实现的功能是滑动选择省市区,虽然只是一个简单的插件,但还是挺开心的,记录一下步骤. 插件地址:https://github.com/leichangchun/vue-area-select     欢迎指正 准备 Vue官网插件部分 的介绍虽然很简单,但是还是好好刷一遍的.由于此插件较为简单,主要用到以下两个点: 1 . Vue的插件需要有一个公开方法install 2 . 通过全局方法 Vue.use() 使用插件,在下文有栗子 创建工程 初始化工程 vue…
回首用vue已经2个多月了,今年7月底根据vue社区提供的api写了一个小移动端的小dom 通过这个项目也让我更深入的了解了vue(组件之间的通讯,计算属性,数据绑定.数据驱动....),用数据驱动型的框架做项目好处就是基本上不需要自己操作dom,框架会通过数据改变帮你最优的操作,也让你开发更加迅速 vue数据的更新: 获取数据(转换数据) →绑定事件→渲染dom →监听事件→改变数据(计算)→重新绑定事件→改变dom 首先vue会遍历一遍你定义的 data 然后通过 这个ES5的属性(Obje…
我们要构建如下组件:(最终代码在这里:https://codesandbox.io/s/38k1y8x375) 开始 Vue是支持单文件组件的,但是我们不准备这么做.你也可以构建一个全局的组件,通过Vue.component,但是我们也不准备这么做. 我们希望跟在真实项目中一样,构建一个可被编译的,可维护的组件. 首先安装: npm install -g vue-cli vue init webpack-simple path/to/my-project ("Use sass",回答Y…
写在前面 对话框是很常用的组件 , 在很多地方都会用到,一般我们可以使用自带的alert来弹出对话框,但是假如是设计 出的图该怎么办呢 ,所以我们需要自己写一个对话框,并且如果有很多地方都用到,那我们很有必要写成一个通用 的组件形式,在需要的地方之间引用. 现在我们来动手实现一个对话框组件 ,按照之前的习惯,我们先看下实现的效果图 1.首先,通过template定义一个组件 <template id="dialog"> <div class="dialog&…
本篇目录: 2.1 Vue实例与数据绑定 2.2 指令与事件 2.3 语法糖 学习任何一种框架,从一个Hello World应用开始是最快了解该框架特性的途径. 我们先从一段简单的HTML代码开始,感受Vue.js最核心的功能: <!doctype html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport"…
一.项目初始构建 现在如果要构建一个 Vue 的项目,最方便的方式,莫过于使用官方的 vue-cli . 首先,咱们先来全局安装 vue-cli ,打开命令行工具,输入以下命令: $ npm install -g vue-cli 1 然后,利用 vue-cli 构建一个 Vue 项目: $ vue init <template-name> <project-name> # 例如: $ vue init webpack my-project 1 2 3 4 这行代码其实就是从 Git…
在谷歌工作的时候,我们要做很多界面的原型,要求快速上手,灵活运用,当时用的一些现有框架,比如angular,太笨重了——尤雨溪(Vue.js 作者) vue.js是现在一个很火的前端框架,官网描述其简单易用,灵活度高,性能好.本篇文章基于Windows系统 公司的项目前端框架选择了vue,最近也一直在学习它,今天写一篇Vue-cli脚手架搭建的学习记录,以后忘记了再来查阅.那么如何从零开始要跑起一个vue.js项目?主要分以下几步: 1.Node.js(Javascript运行环境)安装 2.V…
一.vue安装与下载 1. 官网下载  下载地址 选择开发版本 2. 打开sublime,新建vue文件夹,将下载好的代码vue.js放入vue文件夹中. 3. 新建index.html文件,在head标签内用script标签直接引入vue. 注: 在head标签内引入,而不在body标签内引入,可避免斗屏 4. 新建vue实例 vue会帮我们接管页面中id=root的元素里面的内容,即:vue实例和这个dom元素做好了绑定. el: 指和哪个dom结点作绑定,el是挂载点,用来处理id=roo…
最近在个人的项目中,想对页面之间跳转的过程进行优化,想到了很多文档或 npm 等都用到的页面跳转进度条,于是便想自己去实现一个,特此记录. 来看下 npm 搜索组件时候的效果: so 下面咱们一起动手实现一下呗. 定义使用方式 想实现一个组件的前提,一定要想好你的需求是什么,还要自己去定义一个舒服的使用方法,这其中也是有原则的,对使用者来说,使用方式越简单越好.那么对应的代价就是写这个组件的复杂度会变高. 我想要的使用方式是这样的:可以在任意的地方去调用到这个方法,可以随时控制其状态. 看下对应…
Vue是近两年来比较火的一个前端框架(渐进式框架吧). Vue两大核心思想:组件化和数据驱动.组件化就是将一个整体合理拆分为一个一个小块(组件),组件可重复使用:数据驱动是前端的未来发展方向,释放了对DOM的操作,让DOM随着数据的变化自然而然的变化(尤神原话),不必过多的关注DOM,只需要将数据组织好即可.本文用Vue-cli从零开始搭建一个Vue项目. 准备工作 1.下载安装Node.js 下载地址:https://nodejs.org/en/download/ ,选择合适自己的版本下载即可…
最开始学习Vue的时候,不建议直接使用模板,而应该自己从头写起.模板都是人写的,要坚信"人能我能".只有自己亲自实践,才能促进自己主动思考,才能对模板.框架有深刻的理解. 在Github上看到一个Vue的项目模板,里面包含许多新的知识.仔细研究,所获甚丰. 新库 ora:用于美观地打印正在执行的步骤,是一个控制台打印小程序 const spinner = ora('building for production...') spinner.start() doSomeThing(args…
vue官方文档 知识储备 es6语法补充 let 使用 var 声明的变量的作用域是全局. { var a = 1; } console.info(a); 例1: var arr = []; for (var i = 0; i < 10; i++) { arr[i] = function(){ console.info(i); } } arr[6](); var arr = []; for (let i = 0; i < 10; i++) { arr[i] = function(){ cons…
学习 Vue.js 最有效的方法是查看官网文档 数据绑定和第一个Vue应用 先从一段简单的 HTML 代码开始,感受 Vue.js 最核心的功能. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Vue示例</title> <script src="https://cdn.jsdelivr…
首先我们为啥要用webpack,为啥不用其他的打包的工具. 先听我捋捋, Webpack有人也称之为 模块打包机 ,由此也可以看出Webpack更侧重于模块打包,当然我们可以把开发中的所有资源(图片.js文件.css文件等)都可以看成模块,最初Webpack本身就是为前端JS代码打包而设计的,后来被扩展到其他资源的打包处理.Webpack是通过loader(加载器)和plugins(插件)对资源进行处理的. Gulp侧重于前端开发的 整个过程 的控制管理(像是流水线),我们可以通过给gulp配置…
源码地址:     https://github.com/liufeiSAP/vue2-manage 我们的目录结构: 目录/文件 说明 build 项目构建(webpack)相关代码. config 配置目录,包括端口号默认配置. node_modules npm 加载的项目依赖模块 src 我们的开发目录,基本上绝大多数工作都是在这里开展的 assets: 放置一些图片,如logo等. components: 目录里面放了一个组件文件,可以不用. App.vue: 项目入口文件,我们也可以直…
相信普通的vue组件大家都会写,定义 -> 引入 -> 注册 -> 使用,行云流水,一气呵成,但是如果我们今天是要自定义一个弹窗组件呢? 首先,我们来分析一下弹窗组件的特性(需求): 0. 轻量 –一个组件小于 1Kib (实际打包完不到0.8k) 1. 一般都是多处使用 –需要解决每个页面重复引用+注册 2. 一般都是跟js交互的 –无需 在<template>里面写 <toast :show="true" text="弹窗消息"…
https://cn.vuejs.org/ 生产版本是经过压缩后的版本,它里面把一些没用的警告的代码删除掉了所以它会更精悍一些. 直接引入CDN的网址我们就可以使用Vuejs了.使用生产版本或者CDN的形式来使用Vuejs也可以. 在index.html里面可以写一段html的标准模板. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <…
title: 从零开始编写一个vue插件 toc: true date: 2018-12-17 10:54:29 categories: Web tags: vue mathjax 写毕设的时候需要一个mathjax编辑器,因此直接写一个插件试一下. 准备账号 进入npm注册账号 初始化项目 vue init webpack-simple mathjax-toolbar cd mathjax-toolbar npm install 得到的项目内的/src结构如下: src/ ├── assets…
1.适用人群 1.对webpack知识有一定了解但不熟悉的同学. 2.女同学!!!(233333....) 2.目的 在自己对webpack有进一步了解的同时,也希望能帮到一些刚接触webpack的同学. 脚手架已放上github,不想听我啰嗦的同学可以直接去download或clone下来看哦. 脚手架里都有详细注释! https://github.com/webfansplz... 觉得有帮助到你的同学给个star哈,也算是对我的一种支持! 3.脚手架结构 ├── build 构建服务和we…
参考资料 一.安装node环境 1.下载地址为:https://nodejs.org/en/ 2.检查是否安装成功:如果输出版本号,说明我们安装node环境成功 3.为了提高我们的效率,可以使用淘宝的镜像:http://npm.taobao.org/ 输入:npm install -g cnpm –registry=https://registry.npm.taobao.org,即可安装npm镜像,以后再用到npm的地方直接用cnpm来代替就好了. 检查是否安装成功: 二.搭建vue项目环境 1…