Vue学习之不同组件之间的消息传递
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>vue</title>
<script src="vue.js"></script>
</head>
<body>
<!-- watch监听——只能监听包含在watch中 定义 的变量
watch: {
msg: function (){
//打印日志
console.log()
}
}
computed能监听在computed中所使用的所有变量
computed: {
msg1: function() {
return
}
}
使用场景介绍,watch(一个变量/常量/数组,异步场景),computed(数据联动)
如何进行拆分
1、不超过300行
2、复用
组件化带来的问题:
1、组件状态管理(vuex)
2、多组件的混合使用,多页面,复杂业务(vue-router)
3、组件间的传参、消息、事件管理(props,emit/on,bus)
vue代码风格
1、好习惯,少走坑
2、写出自己看得懂的代码
3、写出别人看得懂的代码
vue-router
1、<router-link to="/info"></router-link> 去连接到组件
2、在router.js中定义组件
import Info from './views/Info.vue';
{
path:'/info',
name:'info',
component:Info,
}
3、自己去定义组件
<template>
<div></div>
</template>
<script>
</script>
<style scoped>
</style>
vuex
1、单项数据流概念
2、store.js
{
//组件的状态
state: {
},
//改变状态的方法集
mutations: {
},
actions: {
}
}
https://www.imooc.com/video/18564
vue调式方法,浏览器检查元素进入到console
1、console.log()
2、alert('sd')
3、debugger //程序会运行到这里停止
#### 开发工作流
+ 需求调研(确定需求)
+ 交互设计、逻辑设计、接口设计
+ 代码实现(1/3的时间)、测试运行(1/10)、线上部署
git简介
//创建空的仓库,查看本地/远程分支的
git status
//查看分支的情况
git branch -a
//创建新分支用于开发,名叫dev
git checkout -b dev
//把dev分支合并到master
//首先切换到master
git check master
git merge dev
//删除本地分支
git branch -D dev
//删除远程分支
git push origin :dev
//版本回退
git reset --hard head^
//查看log
git reflog
//回退到制定版本
git reset --hard reglog的id
打包部署
cd 目录
npm build 自动打包,运行完形成dist文件夹,把此文件夹放到服务器就可以访问了
-->
<!-- 此为父组件模板 -->
<div id="root">
<div>
<input v-model="inputValue" />
<button @click="handleSubmit">提交</button>
</div>
<ul>
<todo-item
v-for="(item, index) of list"
:key="index"
:content="item"
:index="index"
@delete="handleDelete"
>
</todo-item>
</ul>
</div>
<script>
//子组件
Vue.component('todo-item', {
props:['content','index'],
template: '<li @click="handleClick">{{content}}</li>',
methods:{
handleClick: function() {
//向外触发一个事件
this.$emit('delete', this.index)
}
}
})
// var TodoItem = {
// template: '<li>item</li>'
// }
//父组件
new Vue({
el:"#root",
// components:{
// 'todo-item': TodoItem
// },
data:{
inputValue: 'hello',
list: []
},
methods: {
handleSubmit: function() {
this.list.push(this.inputValue)
this.inputValue = ''
},
handleDelete: function(index){
this.list.splice(index, 1)
}
}
})
</script>
</body>
</html>
Vue学习之不同组件之间的消息传递的更多相关文章
- vue学习笔记(八)组件校验&通信
前言 在上一章博客的内容中vue学习笔记(七)组件我们初步的认识了组件,并学会了如何定义局部组件和全局组件,上一篇内容仅仅只是对组件一个简单的入门,并没有深入的了解组件当中的其它机制,本篇博客将会带大 ...
- vue学习记录⑤(组件通信-父与子)
今天我们看一下组件通信. 经过前面几篇文章,我们已经可以构建出完整的单个组件,并利用路由使其串联起来访问了. 但这明显还是不够的.一个页面不可能就是个单组件,一般是由多个组件合成的.正因为如此,组件之 ...
- React 学习(六) ---- 父子组件之间的通信
当有多个组件需要共享状态的时候,这就需要把状态放到这些组件共有的父组件中,相应地,这些组件就变成了子组件,从而涉及到父子组件之间的通信.父组件通过props 给子组件传递数据,子组件则是通过调用父组件 ...
- 38.VUE学习之-全局组件和局部组件
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- Angular学习笔记之组件之间的交互
1.@Input:可设置属性 当它通过属性绑定的形式被绑定时,值会“流入”这个属性. 在子组件中使用,例如:@Input()name:string 父组件定义宾亮,并在父组件的模板中绑定,例如: 子组 ...
- Vue学习之todolist组件拆分
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Vue学习系列(二)——组件详解
前言 在上一篇初识Vue核心中,我们已经熟悉了vue的两大核心,理解了Vue的构建方式,通过基本的指令控制DOM,实现提高应用开发效率和可维护性.而这一篇呢,将对Vue视图组件的核心概念进行详细说明. ...
- vue学习之父组件与子组件之间的交互
1.父组件数据传给子组件 父组件中的msgfather定义数据 在之组件中通过设置props来取得希望从父组件中获得的值 通过设置这两个属性就可以从父组件传数据到子组件 2.子组件传数据给父组件(这里 ...
- vuex 实现vue中多个组件之间数据同步以及数据共享。
http://pan.baidu.com/s/1hrJfpli demo下载地址 前言 在一些项目中有很多数据状态之间要实现数据共享状态共享,例如购物车的数据.用户的登录状态等等.vue父元素是可以 ...
随机推荐
- hbase rowkey 设计
HBase中的rowkey是按字典顺序排序的,通过rowkey查询可以对千万级的数据实现毫秒级响应.然而,如果rowkey设计不合理的话经常会出现一个很普遍的问题----热点.当大量client的请求 ...
- 基于sparksql collect_list的udf定义踩坑
多条collect_list,然后将collect_list的结果concat起来,最初使用的是concat_ws(),但是发现超过4个collect_list就会报错, select concat_ ...
- 关于多线程中sleep、join、yield的区别
好了.说了多线程,那就不得不说说多线程的sleep().join()和yield()三个方法的区别啦 1.sleep()方法 /** * Causes the currently executing ...
- CSS 之Grid网格大致知识梳理1
CSS所提供的关于网格Grid属性让我们可以更方便编写页面以及布局,而它的一些主要应用属性如下: 1.将父容器的display属性值设置为grid 即可将其转换为网格容器: 2.在网格容器中添加列的属 ...
- Springboot源码分析之事务拦截和管理
摘要: 在springboot的自动装配事务里面,InfrastructureAdvisorAutoProxyCreator ,TransactionInterceptor,PlatformTrans ...
- DOM操作(基础版)
DOM操作(基础版) DOM是document Object Model的缩写,简称文档对象模型.只要记住这是操作文档的就行了. DOM基础选择器 1.getElementById(id); //获取 ...
- Leetcode之深度优先搜索(DFS)专题-547. 朋友圈(Friend Circles)
Leetcode之深度优先搜索(DFS)专题-547. 朋友圈(Friend Circles) 深度优先搜索的解题详细介绍,点击 班上有 N 名学生.其中有些人是朋友,有些则不是.他们的友谊具有是传递 ...
- ES6之解构
1.ES6允许按照一定的模式,从数组中和对象中提取值,对变量进行赋值,这种称为解构(Distructuring): let [a,b,c] = [3,5,6];// 相当于 a=3,b=5,c=6 本 ...
- python控制窗口缩放
import win32gui import win32con import time # 使用之前先打开一个记事本 notepad = win32gui.FindWindow("Notep ...
- HDU 6364 Ringland
Ringland 题意: 在一个环上有n个男生, n个女生, 现在要求每一个男生与女生配对, 求总代价最小. 题解: 如果2个男生到女生的路交叉了, 那么我们交换这2个男生的路, 总代价是一定会变得小 ...