首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

一步一步学Vue(三)

我理解的组件化就是把内容分块,把业务分块,把结构分块,可能还有其它维度;所谓分块其实专业一点可以称为封装,封装、继承、多态是面向对象的概念,但是也是代码重用的一种手段,我们对代码、对系统进行组件化也是代码重用的一种手段...举个简单的例子,H5发布之后,新增了几个复杂标签,比如video,audio等,这种本质上是什么东西呢,为什么浏览器遇到这个标签都能渲染出一个播放窗口呢,请看下图:   我Html添加了一个video...2、Vue组件   Vue中注册组件有两种方式:全局注册和局部注册;全局注册通过component方法进行注册,Vue实例对象的作用于内都可以直接使用;局部注册通过给Vue实例的components...传值是web开发很重要的一个环节;熟悉的angular,父子controller传值可以通过emit 和 broadcast ,前者向上传播,后者向下传播;但是并不建议使用后者,因为后者传递过程中会遍历所有的同级节点...而向组件或者指令传值,angular有自己的绑定策略,那么Vue是不是也有类似的机制呢。没错,Vue建议的方式就是“props in ,event out”。

56910

一步一步学Vue(四)

,使用props传入;其实我们仔细分析我们的两个组件,都是为了渲染列表数据,至于是组件外请求还是组件内请求,它是不关注的,这样我们可以进一步考虑,把AB组件重构成只用来渲染数据的pure组件,数据由外部传入...,其它组件都是傻白甜,这样的好处是,其它组件容易重用,因为只是数据渲染,并不涉及业务操作,这种组件没有业务相关性,比如一个list组件我可以用它显示用户信息,当然也可以用它显示角色信息,根据传入的数据而变化...$on("onxxx",function(e,data){ //TODO: }) 但是vue$on是直接使用v-on:onxxx或@onxxx来写的,所以一般存在的是这样的代码: <todo-list...,它的每一个列表项我们进行了一次封装,每一个list的列表项,就是一个TodoItem组件,所以TodoItem组件,只需要引入todoitem数据即可,唯一需要关注的就是todoItem组件中会触发...(更逼格高一些,叫状态),所以todoitem组件触发的事件没办法直接到TodoContainer组件,只能通过一级一级的往上传递,所以todolist也有和todoitem类似的触发事件的代码

1.2K10

vue业务组件封装_怎么去设计一个组件封装

组件间传值——父给子传值 一、组件 组件是拥有专属的 HTML+JS+CSS+数据 的可重用的独立的页面功能区域,如果发现网页中有一个功能,可能被多处反复使用,都应封装为组件。...return一个新对象{} //HTML片段仍需写在唯一的父元素 (2)页面中使用组件 <!...组件的使用过程 (1)每当拿到一个页面后,先划分组件区域,根据3个原则:位置、功能、是否重用; (2)为每个组件创建独立的js文件,来保存组件的代码; (3)回到原页面引入并使用组件标签,将组件重新拼接回一个完整的页面...组件界面 ---- 举例: 实现待办事项列表的界面部分划分组件组件todo.js Vue.component("todo", { template...:{ props:[ "自定义属性名" ] } //组件内,props的属性用法和data的变量用法完全一样 //差别在于props的属性值来自于外部传入,data的变量值由自己定义

2K10

kbone,十分钟让 Vue 项目同时支持小程序

基本结构 首先,我们来看下一个基本的 kbone 项目的目录结构(这里的 todo 是基于 Vue 的示例,kbone 也有 React,Preact,Omi 等版本,详情可移步 kbone github.../todo.vue' new Vue({ el: '#app', render: h => h(todo) }) todo.vue 在上面的入口图可以看到,源码目录,除了入口文件分开之前,页面文件就是共用的了...Web 端配置为正常的 Vue 配置,小程序端配置与 Web 端配置的唯一不同就是需要引入 mp-webpack-plugin 插件来将 Vue 组件转化为小程序代码。 [0?...构建完成后,生产代码会位于 dist 目录。...进入 dist/mp 目录,执行 npm install 安装依赖,用开发者工具将 dist/mp 目录作为小程序项目导入之后,点击工具栏下的 构建 npm,即可预览效果。

58641

一步一步学习Vue(十一)

,由于每一个组件中都可以访问到this....$store,那么我们就不用对事件一层一层的传递啦,我们只需要在需要调用的地方,commit对应的mutation即可,比如search操作就是searchbar组件,那么我们没必要传递到父组件来触发...,现在每个组件的逻辑都是它自己负责,表单组件负责保存操作,所以在其中提交commit(“save”);todo组件负责编辑和删除,所以在其方法中封装了remove和edit的mutaiton的访问。...由于其状态的响应式,所以我们访问时一般定义成计算属性,如TodoContainer组件的initItem和items;一般来说,不是所有状态都要定义到vuex的store,每个组件都会有自己私有状态...,只有全局或者共享状态才适合定义store,所以实际开发,需要好好斟酌;本篇就到此为止,其实算是上篇的一个延伸,下一篇介绍Actions,会继续本篇demo的基础上进行延伸,敬请期待。

69020

《深入浅出Dart》Flutter实战之TODO应用

现代JavaScript高级小册 深入浅出Dart 现代TypeScript高级小册 Flutter实战之TODO应用 本篇文章,我们将构建一个TODO应用,使用最新的Dart语法和Flutter框架...}); } } } 在这段代码,我们创建了一个TodoListScreen类作为任务列表页面,它是一个有状态的小部件。...lib/screens/todo_edit_screen.dart创建一个新的Dart文件,并添加以下代码: import 'package:flutter/material.dart'; import...'Add Todo' : 'Edit Todo'), ), body: Padding( padding: EdgeInsets.all(16.0),...initState方法,我们初始化了文本编辑器的控制器,并根据传入的任务初始化了相应的值。 build方法,我们使用Scaffold和Column来显示标题、描述和完成状态的输入字段。

18620

vue-cli的项目结构

vue的基本语法,后面会陆续加入vuex和vue-router的使用 Vue Vue语言有非常强的灵活性,可以直接在HTML页面通过引入其js文件使用,也可以作为一个完整的项目使用。...因此可以App.vue文件定义整个项目最通用的结构比如Header,Sidebar等等。其它情况下也可以不对其进行任何修改。...components文件夹和views文件夹都用来存储模板,不同的是views文件夹的内容对应一个完整的页面,而components的内容对应各个可重用的元素。...不指定版本号的情况下会下载最新版本 npm run dev: 运行开发配置下的项目,我们用这个指令开发过程启动项目并debug 进入代码 该todo来自于vue官网上,需要查看源码的可以去官网的github...我们使用npm run dev查看一下运行结果: ? 主要的组件都位于components之下: ? 分别对应着新建Todo模块,单个Todo展示页面和Todo列表模块。

86440
领券