ref

当ref写在一个标签元素中,通过this.$refs.name 获取的是标签对应的dom元素


<section id="app"
ref="froggy"
@click="handleClick"
>{{name}}</section> <script>
var vm = new Vue({
el: "#app",
data:{
name:"emit"
},
methods:{
handleClick: function() {
console.log(this.$refs.froggy)
alert("this.$refs.froggy")
}
}
})
</script>

当ref写在一个组件上的时候。获取的是一个子组件的引用

<section id="app"
ref="froggy"
>
<counter @change="handle" ref="one"></counter>
<counter @change="handle" ref="two"></counter>
{{name}}</section> <script> Vue.component("counter", {
template:"<div @click='handleClick'>{{number}}</div>>",
data:function() {
return {
number: 0
}
},
methods: {
handleClick: function() {
this.number++
this.$emit("change")
}
}
}) var vm = new Vue({
el: "#app",
data:{
name:"0"
},
methods:{
handle: function() {
this.name = this.$refs.one.number + this.$refs.two.number
}
}
})
</script>

is = " 子组件名称"(属性)

H5有一些编码规范

<ul> --<li>

<ol> --<li>

<select> --<option>

<table> --<tbody> -- <tr> --<td>

非子组件中定义data要用function + return

子组件不像根组件只调用一次,子组件会被不断调用,不希望子组件中数据冲突

每个子组件都有独立的数据存储,多个子组件间互相影响

父子组件传值

父 --- 子  通过属性形式传递 //  子组件不能修改父组件传递过来的参数(万一是引用类型)

子组件可以在自己的数据内clone一份  然后更改

<article class="app">
<counter :count="0"></counter>
</article> <script> var counterr = {
props:["count"],
template:"<section @click='handle'>{{number}}</section>",
data: function () {
return {
number: this.count
}
},
methods: {
handle:function() {
this.number++
}
}
} var vm = new Vue({
el: ".app",
data:{ },
components:{
counter:counterr
}
})
</script>

子组件通过时间触发机制向父组件传值

this.$emit("事件名称",传递参数,可以多个)

子组件上; @事件名称=“父组件调用的函数”

组件参数校验

父组件向子组件传递参数的时候,子组件可以对数据进行约束

props: {
content: {
type: String, 类型
required: false //must send
default: "default" //默认值
validator: function(value) {
return value.length > 5 //验证器 true 返回 自定义效验器
}}

非props特性

父子组件之间props有个对用关系  为props特性

  • 不会在dom标签上显示
  • {{content}}  this.content 可以拿到数据

子组件不定义。不接受父组件传过来content。子组件不能使用数据

会显示在dom中

组件绑定原生事件

< child @click.native="handleClick">  自定义click事件 后面加一个native修饰符。

非父子组件传值

框架

总线/bus/发布订阅模式/观察者模式

vue组件使用细节的更多相关文章

  1. Laravel 项目中编写第一个 Vue 组件

    和 CSS 框架一样,Laravel 不强制你使用什么 JavaScript 客户端框架,但是开箱对 Vue.js 提供了良好的支持,如果你更熟悉 React 的话,也可以将默认的脚手架代码替换成 R ...

  2. 深入理解 Vue 组件

    深入理解 Vue 组件 组件使用中的细节点 使用 is 属性,解决组件使用中的bug问题 <!DOCTYPE html> <html lang="en"> ...

  3. 滴滴开源 Vue 组件库— cube-ui

    cube-ui 是滴滴去年底开源的一款基于 Vue.js 2.0 的移动端组件库,主要核心目标是做到体验极致.灵活性强.易扩展以及提供良好的周边生态-后编译. 自 17 年 11 月开源至今已有 5 ...

  4. vue组件中—bus总线事件回调函数多次执行的问题

    在利用vue组件进行事件监听时发现,如果对N个vue组件实例的bus总线绑定同一事件的回调函数,触发任意组件的对应事件,回调函数至少会被执行N次,这是为什么呢? 为此,调研了普通对象的事件绑定和触发实 ...

  5. 2.基础:Vue组件的核心概念

    一.组件基础和注册 组件概念 组件系统是 Vue 的另一个重要概念,他的核心就是封装和复用. 细节 组件的name必须是全局唯一. 二.属性.事件和插槽 组件的三大核心概念:属性.事件和插槽. 属性, ...

  6. 深入理解Vue组件3大核心概念

    摘要: 搞懂Vue组件! 作者:浪里行舟 原文:详解vue组件三大核心概念 Fundebug经授权转载,版权归原作者所有. 前言 本文主要介绍属性.事件和插槽这三个vue基础概念.使用方法及其容易被忽 ...

  7. vue组件开发练习--焦点图切换

    1.前言 vue用了有一段时间了,开发的后台管理系统也趋于完善,现在时间比较算是有点空闲吧!这个空闲时间我在研究vue的另外的一些玩法,比如组件,插件等.今天,我就分享一个组件的练手项目--焦点图切换 ...

  8. 第四章、深入理解vue组件

    4-1.使用组件的细节 a.使用is解决html出现bug 如下 table下面应该为tr,所以页面渲染的时候没有找到tr是有问题的,所以是有小bug,所以table中必须是tr b.改上面bug,t ...

  9. vue组件库用markdown生成文档

    前言: 开发vue组件库需要提供组件的使用文档,最好是有渲染到浏览器的demo实例,既能操作又能查看源代码.markdown作为常用的文档编写载体,如果能在里面直接写vue组件,同时编写使用说明就再好 ...

随机推荐

  1. linux下安装jdk&&Tomcat环境

    linux系统 Centos6 下部署应用服务 jdk-1.7 环境安装:(切换到root用户下操作)1. 在 /usr/local 目录下创建jdk7文件 mkdir /usr/local/jdk7 ...

  2. DEDECMS打开网站后台系统首页卡解决方法

    找到根目录下(一般是dede) templets文件夹下找到index_body.htm文件,将第25行至第41行部分注释或删除 保存文件,然后再打开后台,就不会有这个问题了.

  3. mitmproxy(TLS错误)

    一.原来的基础上添加代码 """ This inline script allows conditional TLS Interception based on a us ...

  4. oracle 使用触发器实现id自增

    前提:存在数据库di_test,主键为id.1.创建一个索引sequence create sequence di_test_id minvalue 1 nomaxvalue start with 1 ...

  5. java方法中使用js的alert。

    out.println("<script type=\"text/javascript\">"); out.println("alert( ...

  6. Elasticsearch 搜索数据

    章节 Elasticsearch 基本概念 Elasticsearch 安装 Elasticsearch 使用集群 Elasticsearch 健康检查 Elasticsearch 列出索引 Elas ...

  7. NumPy 数组迭代

    章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切 ...

  8. spring源码 AutowireCapableBeanFactory接口

    对于想要拥有自动装配能力,并且想把这种能力暴露给外部引用的BeanFactory类需要实现此接口.正常情况下,不要使用此接口应该更倾向于使用BeanFactory或者ListableBeanFacto ...

  9. 转载:HTTP 请求头中的 X-Forwarded-For,X-Real-IP

    转载:https://www.cnblogs.com/diaosir/p/6890825.html  X-Forwarded-For 在使用nginx做反向代理时,我们为了记录整个的代理过程,我们往往 ...

  10. UVA - 11093 Just Finish it up(环形跑道)(模拟)

    题意:环形跑道上有n(n <= 100000)个加油站,编号为1~n.第i个加油站可以加油pi加仑.从加油站i开到下一站需要qi加仑汽油.你可以选择一个加油站作为起点,起始油箱为空(但可以立即加 ...