day62
一.组件
- 组件都具有模板,template
- new Vue()创建的是根组件
- 组件与实例一一对应,创建一个实例就是创建了一个组件,同理创建一个组件就相当于创建了一个实例
- 根组件的挂载点一般就是根组件的模板,根组件也可以显式书写自己的模板,会替换掉挂载点
- 子组件都具有自身模板,根组件是所有子组件的父级(一级父级....n级父级)
二.局部组件
<div id="app">
<!-- 连接语法 -->
<local-tag></local-tag>
</div>
<script>
// 定义局部组件
var localTag = {
template: "<button @click='btnClick'>{{ num }}</button>",
data () {
return {
num: 0
}
},
methods: {
btnClick () {
this.num++;
}
}
}
// 根组件
new Vue({
el: "#app",
// 子组件要在父组件中使用,需要注册
components: {
// 小驼峰 "localTag": localTag
localTag
}
})
</script>
三.全局组件
<div id="app">
<global-tag></global-tag>
</div>
<script>
// 定义全局组件
Vue.component("global-tag",{
template: "<button @click='btn'>{{ n }}</button>",
data () {
return {
n: 0
}
},
methods: {
btn () {
this.n++
}
}
})
// 根组件
new Vue({
el: "#app",
})
</script>
四.数据传递~父传子
<div id="app">
<local-tag :num="num" :sup_data="sup_data"></local-tag>
</div>
<script type="text/javascript">
var localTag = {
props: ['num', 'sup_data'],
template: "<div @click='divActive'>{{ num }}</div>",
methods: {
divActive () {
console.log(this.num);
console.log(this.sup_data);
}
}
}
new Vue({
el: "#app",
components: {
localTag
},
data: {
num: 10,
sup_data: [1, 2, 3, 4, 5]
}
})
</script>
// 1.数据由父级提供
// 2.在父级模板(挂载点)中出现的子组件名(local-tag)上,为其设置全局属性,属性值就是父级提供的数据变量
// 3.在子组件中,提供$props来拿到自身的全局属性名(用''括起来的数组)
// 4.在模板中直接用属性名来访问数据,在方法中通过this.属性名来访问数据
// 5.名字出现多个单词的时候,使用_连接语法进行处理,以达到命名的统一
五.数据传递~子传父
<div id="app">
<global-tag @send_data="receive_data"></global-tag>
{{ n }}
</div>
<script type="text/javascript">
Vue.component("global-tag", {
template: "<div @click='divAction'>我是div</div>",
data () {
return {
num: 10,
arrList: [1, 2, 3, 4, 5]
}
},
methods: {
divAction () {
this.$emit("send_data", this.num, this.arrList)
}
}
});
new Vue({
el: "#app",
data: {
n: 0
},
methods: {
receive_data (num, arrList) {
console.log("接收到的数据:", num, arrList);
this.n = num;
}
}
})
</script>
// 1.数据由子级提供
// 2.在子级中通过某个事件对外(this.$emit("事件名", ...args))发送一个事件
// 3.在父级的模板中,子组件名上,为发送的事件绑定一个回调方法,该回调方法由父级来完成实现体
// 4.在实现体中就可以拿到回调参数
day62的更多相关文章
- day6-2面向对象
概述: 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 注:Java和C#来 ...
- js关于propotype的一些事-------Day62
近期在忙着搬家,忙忙活活的收拾这收拾那,原以为自己东西了了,谁知道东西是越收拾越多,各种崩溃啊..... 昨日在记录js动态生成表格的经典方式时,用到了createDocumentFragment() ...
- day62 中间件
一.中间件的介绍 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级, 并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨慎实用, 用不好 ...
- python 全栈开发,Day62(外键的变种(三种关系),数据的增删改,单表查询,多表查询)
一.外键的变种(三种关系) 本节重点: 如何找出两张表之间的关系 表的三种关系 一.介绍 因为有foreign key的约束,使得两张表形成了三种了关系: 多对一 多对多 一对一 二.重点理解如果找出 ...
- day62 作业
熟练使用无名有名分组 urls.py url(r'^edit/(\d+)/',views.edit_user,name='edit'), views.py def edit_user(request, ...
- day62 django入门(3)
目录 一.无名有名分组的反向解析 1 无名分组的反向解析 2 有名分组的反向解析 二.路由分发 三.名称空间(了解) 四.伪静态(了解) 五.虚拟环境(了解) 六.django版本区别 1 url的区 ...
- day62 Pyhton 框架Django 05
内容回顾 1.变量 render(request,'模板文件名',{ k1:v1 }) {{ k1 }} {{ list.0 }} {{ dict.key }} {{ dict.keys }} {{ ...
- 初识Djiango
老师的博客:点我 内容主要是看老师的博客 下面是自己的写的某些自己当时不太懂的. 关于Django的版本的问题 Django官网下载页面 在官网上显示lts的是表示支持长期版本.所以最好下载1.11版 ...
- python之django基础
看了不是同一期的视频,发现9期老师线性引入的方式,讲得django更加易于理解掌握. 抱歉的是,笔记没有整理就发上来了.希望看到的人不要被我带偏. 1. 新建Django项目 命令行创建: djang ...
随机推荐
- python学习之老男孩python全栈第九期_day009作业
1. 写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. 答: l1 = [] def odd(li): for i in range(1,len(li),2 ...
- Geolocation API
Geolocation API--地理定位 navigator.geolocation getCurrentPosition() 触发请求用户共享地理定位信息的对话框 接收3个参数: 1.成功回调函数 ...
- css 解决图片下小空隙问题
http://baijiahao.baidu.com/s?id=1581004863053583633&wfr=spider&for=pc 这篇讲的挺清楚,也有解决办法
- JDK动态代理、CGLib动态代理
JDK动态代理源码 一.public static Object newProxyInstance ——> 调用下面这个方法二.Class<?> cl = getProxyClass ...
- Python+Selenium笔记(三):使用unittest
#网络很慢可能会运行报错 (一) 前言 Selenium WebDriver是一个浏览器自动化测试的API集合.它提供了很多与浏览器自动化交互的特性,并且这些API主要是用于测试Web程序.如果仅 ...
- 软件工程-XP方法十二个最佳实践
- BigDecimal 工具类
arg1.compareTo(arg2) arg1 > arg2 返回 int 1 arg1 = arg2 返回 int 0 arg1 < arg2 返回 int -1 public cl ...
- eclipse neon配置tomcat8无法显示默认页面解决方法
下载对应tomcat8版本到本地后,在eclipse中添加tomcat8的对应目录,输入http://localhost:8080时无法显示tomcat的index.jsp页面(会显示404页面).原 ...
- 《SQL Server 2008从入门到精通》--20180723
目录 1.架构 1.1.创建架构并在架构中创建表 1.2.删除架构 1.3.修改表的架构 2.视图 2.1.新建视图 2.2.使用视图修改数据 2.3.删除视图 3.索引 3.1.聚集索引 3.2.非 ...
- CheckTimeWait.bat实现windows下的TimeWait检查
原文链接: http://www.lookdaima.com/WebForms/WebPages/Blanks/Pm/Docs/DocItemDetail.aspx?id=c7bff196-cd9c- ...