vue中组件通信

  前面看官方文档一直不能理解在子组件模板中引用父组件的数据,看了很多遍也是模糊,今天无意中看到一个demo,突然就明白了一些。

<div id="componentPhone">
    <!--在子组件模板中引用父组件的数据,数据是article,通过绑定的detail属性-->
    <my-component v-bind:detail="article"></my-component></div>
var cp = new Vue({
    el:"#componentPhone",
    data:{
        article:{
            title:"雄鹰展翅",
            content:"实现自我价值",
            date:"20180109",
            is_original:true
        }
    },
    components:{
        ‘my-component‘:{
            props:[‘detail‘],//detail是子组件上绑定的一个属性,属性值是父组件的数据
            template:‘<div>\n‘ +
            ‘<div>\n‘ +
            ‘<h1>{{detail.title}}</h1>\n‘ +
            ‘<div>\n‘ +
            ‘<span>{{detail.date}}</span>\n‘ +
            ‘<span v-show="detail.is_original">原创</span>\n‘ +
            ‘</div>\n‘ +
            ‘</div>\n‘ +
            ‘</div>‘
        }
    }
});

  这样看起来就比较容易理解。

原文地址:https://www.cnblogs.com/yaoya/p/8251498.html

时间: 2024-07-30 06:44:51

vue中组件通信的相关文章

vue中组件间的通信,父传子,子传父

参考文章 :https://www.cnblogs.com/yszblog/p/10135969.html 1 父传子 子组件Vue 父组件 注册子组件 子组件在props中创建一个属性,用以接收父组件传过来的值 父组件中注册子组件 在子组件标签中添加子组件props中创建的属性 把需要传给子组件的值赋给该属性 2 通过$emit  子组件向父组件传值 2.1 子组件Vue 2.2 父组件 2.3 父组件监听子组件发射的事件名 子组件中需要以某种方式例如点击事件的方法来触发一个自定义事件 将需要

vue中组件的嵌套(1)

1.组件的嵌套 组件嵌套:把组件与组件嵌套在一起, 在父组件下的模板中,以标签的形式调用子组件. 2 . 组件通信 组件通信 : 就是把同一个信息可以在不同的组件中共用 方式一 :   组件 父传子 用 Props    父组件将信息传给子组件,从而子组件获得父组件的信息 父组件和子组件,之间靠子组件标签取得关联,在子组件标签上所有的属性构成的集合在子组件的props属性可以接受到. <!DOCTYPE html> <html> <head> <meta char

vue基础----组件通信(props,$emit,$attrs,$listeners)

一.父传子,子传孙 1. props 1>在父组件中通过子组件自定义的标签属性来传递数据. 2>在子组件中通过props声明希望用到的数据 1 <body> 2 <div id="app"> 3 <my-father :msg1="msg" a="10" :b="20" @click="fn"></my-father> 4 </div>

vue基础----组件通信($parent,$children)

1.按照dom的父子级关系,在子组件中可以通过$parent 直接调用父组件的方法,也可得到父组件的属性. 2.在父组件中通过$childrens可以得到一个子组件数组,能够在父组件中调用子组件的方法和得到属性. 3.特别注意一下_uid标识每一个组件. 下面是一个下拉菜单举例 1 <body> 2 <div id="app"> 3 <collapse> 4 <collapse-item title="大学同学">大学

vue中组件的四种方法总结

希望对大家有用 全局组件的第一种写法 html: <div id = "app"> <show></show></div> js: 第一步:实例化Vue对象 var app = new Vue({ el:"#app" })     第二步:定义组件 var myComponent = Vue.extend({ template: '<h1>vue全局组件写法一</h1>' });     第三步

vue中组件间的通信

1.props:父组件的数据传递给子组件(数据在子组件中) (1)在子组件中申明props,props的类型一般为数组类型 window.HomeList ={ template, props:['empList'] } (2)在父组件中,给子组件所在的标签绑定属性 <home-list :empList="empList"></home-list> 父组件的数据如下: data(){ return { hobbies:['吃饭','睡觉','打豆豆','看书'

Vue父子组件通信实践

组件(Component)是Vue.js的核心部分,组件的作用域是孤立的,所以不能在子组件模板内直接引用父组件的数据,但是组件之间的通信是必不可少的.组件A在其模板中使用了组件B,A组件要向B组件传递数据,B组件要将其内部发生的事情告知A组件,那么A.B组件怎么进行通信呢? Vue.js父子组件的关系可以总结为props down,events up,父组件通过props向下传递数据给子组件,子组件通过events给父组件发送消息,它们的工作方式如下图所示: 父组件 - 子组件:父组件传值给子组

Vue父子组件通信

我们在开发过程中,不可能只在一个组件里面写东西,当一个组件的内容过多时候,我们会把各个块的内容分别作为一个单独的组件分离出去,这些分离出去的组件被叫做子组件,但是一般请求数据的话还是在父组件(最大的外层中)钟情求,这就要求我们要将父组件中的数据传给各个子组件,子组件才能通过v-for指令进行遍历,遍历之后再通过item将数据传给比自己更小的子组件,这样以此类推,最后的小组件再来展示数据,组件开发中不可能因为某个小组件而单独发一次请求,这就需要用到组件之间的通信 通常情况下子组件是不能直接访问父组

VUE中组件的使用

关于vue组件引用 使用Nodejs的方法 被引用的组件要暴露 module.exports={}; 引用时 用 var abc= require("组件的路径") 然后 就可以用abc点出来组件中的东西 属性或者方法 代码 ``` //cal.js的内容 一定要包裹在对象中 还要是顶级作用域 如不能再函数值暴露 没用 module.exports={ sayHi:function(){ console.log("你好啊") } }; //main.js 引用后就可