zoukankan      html  css  js  c++  java
  • vue组件

    组件:页面中的任何一个部分都是组件,它由html、css、js组成。组件继承于实例,它就是一个小型的vue实例,vue中有什么,组件中就有什么,稍有变异,它的配置项中data不是一个对象,而是一个函数。

    组件的嵌套:

    <!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>组件嵌套</title>
        <script src="./js/vue.js"></script>
        <style>
            .father {
                 300px;
                height: 300px;
                background-color: red;
            }
    
            .son {
                 200px;
                height: 200px;
                background-color: greenyellow;
            }
        </style>
    </head>
    
    <body>
        <div id="app">
            <father></father>
        </div>
        <template id="father">
            <div class="father">
                父组件<son></son>
            </div>
        </template>
        <template id="son">
            <div class="son">
                子组件
            </div>
        </template>
        <script>
         //全局组件的嵌套 // Vue.component("father",{ // template:"#father" // }) // Vue.component("son",{ // template:"#son" // }) new Vue({ el:"#app",
           //局部组价的嵌套 components:{
    "father":{ template:"#father", components:{ "son":{ template:"#son" } } } } }) </script> </body> </html>

    组件传值:

      父传子:props属性

        1、在子组件中,props用来接收自定义属性的值,这个值可以在该组件中使用。

        2、这个值只能拿来用,不能去修改。

        3、自定义属性的值为变量或表达式时,在属性前加  :

        4、接收方式:数组----props:[自定义属性],对象----props:{自定义属性:{type:  default:  required:true}}

            type:限制外部数据的类型

            default:默认值,当父组件没有给子组件传值时使用默认值

            required:true----表示当前属性是必传的值(和default二选一)  

      子传父:$emit()----触发本组件身上的自定义方法

        给当前子组件绑定一个自定义方法,值为接收参数的函数(这个函数不带括号),在子组件内部通过this.$emit()来调用自定义方法。

        $emit("hehe",100)

          "hehe"----自定义事件名

          100----参数

      非父子:

        亲兄弟之间----子组件控制父组件的显示和隐藏

        远房亲戚----Eventbus(事件总线)

            let bus=new Vue();----创建一个空实例,bus.$on()----在实例上注册事件,bus.$emit()----触发实例上$on注册的事件

  • 相关阅读:
    ubuntu下erlang man的安装
    ranch分析学习(四)
    ranch分析学习(三)
    ranch分析学习(二)
    ranch分析学习(一)
    IIS 配置错误解决方法集合
    Visual Studio 2013中添加mimeType
    wordpress 开发日志及技巧收集
    css3 动画
    高宽比例计算方法及等比高宽修改计算方法
  • 原文地址:https://www.cnblogs.com/wuqilang/p/11354336.html
Copyright © 2011-2022 走看看