前言 vue作为一个轻量级前端框架,其核心就是组件化开发.我们一般常用的是用脚手架vue-cli来进行开发和管理,一个个组件即为一个个vue页面,这种叫单文件组件.我们在引用组件之时只需将组件页面引入,再注册即可使用.那么不用脚手架,如何进行组件开发呢,本文先介绍一下基础知识吧. 组件使用流程1.组件构建1.1 extend构建法调用Vue.extend()方法,构建一个名字为myCom的组件 var myCom = Vue.extend({ template: '<div>这是我的组件<…
前言 在了解父子组件之前应先掌握组件开发基础.在实际开发过程中,组件之间可以嵌套,也因此生成父子组件. 父子组件创建流程 1.构建父子组件 1.1 全局注册 (1)构建注册子组件 //构建子组件child var child = Vue.extend({ template: '<div>这是子组件</div>' }); //注册名为'child'的组件 Vue.component('child',child); (2)构建注册父组件 //构建父组件parent,在其中嵌套child…
本篇目录: 7.1 组件与复用 7.2 使用props传递数据 7.3 组件通讯 7.4 使用slot分发内容 7.5 组件高级用法 7.6 其他 7.7 实战:两个常用组件的开发 组件(Component)是Vue.js最核心的功能,也是整个框架设计最精彩的地方,当然也是最难掌握的. 本章将带领你由浅入深地学习组件的全部内容,并通过几个实战项目熟练使用Vue组件. 7.1 组件与复用 7.1.1 为什么使用组件 在正式介绍组件前,我们先来看一个简单的场景,如图7-1所示:  图7-1中是一个…
开发中有个需求,有个Parent组件(例如div)下,输入框,下拉框,radiobutton等可编辑的子孙组件几百个,根据某个值统一控制Parent下面的所有控件的disabled状态 类似于这样,给大量子孙组件传值的场景,一直在思考在Vue.js下面有没有什么最佳实践? 类似于下面这种结构 <App> <Parent1> <Child1> <Child1Child1> ...... <Child1ChildN> <Child2> &…
全局注册组件 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="https://unpkg.com/vue"></script> </head> <body> <div id="app-1"> <g…
一,概述 随着公司业务需求的不断迭代发展,工程的代码量和业务逻辑也越来越多,原始的开发模式和架构已经无法满足我们的业务发展速度了,这时我们就需要将原始项目进行一次重构大手术了.这时我们应该很清晰这次手术的动刀口在哪,就是之前的高度耦合的业务组件和功能组件,手术的目的就是将这些耦合拆分成互相独立的各个组件. 二,为什么要用组件化 我们先来张图看看在没有使用组件化前,我们各个模块间的依赖关系 从上面这种各个业务组件的依赖关系来看,他们是互相依赖的,业务组件和业务组件间产生了严重的耦合关系,这样一来对…
在 Vue.js 框架中,与 HTML 页面元素的交互方式没有像原生 JavaScript 接口那么直接,它是通过先在 HTML 元素标签中嵌入一系列类似于普通标签属性的 Vue 指令属性来绑定数据,然后再通过在 JavaScript 代码中修改这些被绑定的数据来修改页面元素的显示方式与内容.在编程方法上,我们通常将这种用数据内容的变化来驱动整个程序业务运作的方式称之为"数据驱动开发".这部分笔记将记录如何利用数据驱动的开发方式来完成数据绑定.事件响应,以实现控制页面元素与 CSS 样…
前言 vue.js除了拥有组件开发体系之外,还有自己的路由vue-router.在没有使用路由之前,我们页面的跳转要么是后台进行管控,要么是用a标签写链接.使用vue-router后,我们可以自己定义组件路由之间的跳转,还可以设置稍复杂的嵌套路由,创建真正的spa(单页面应用).我之前用vue-cli脚手架写了一个简单的人员管理实例,现在我们不用脚手架,就用原生的vue来写,本文也主要是通过实例来讲解vue.js+vue-router相关知识. 简单路由跳转实例 1.起步 下载vue-route…
同事封装了一个弹窗组件,觉得还不错,直接拿来用了: gif图展示: 弹框组件代码: <template> <transition name="confirm-fade"> <div @touchmove.prevent v-if="isShowConfirm" class="my-confirm" @click.stop="clickFun('clickCancel')"> <div…
html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>数字输入框</title> </head> <body> <div id="app"> <input-number v-model="value" :max=&qu…