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

    一、Vue组件注册

    1、全局组件注册

    语法:

    Vue.component(组件名称,{
        data:组件数据,         //data必须是一个函数,希望形成一个闭包环境
        template:组件模板内容  //template 内容必须有一个根元素,内容可以是模板字符串``
        //methods
        //可以实现数据的绑定、事件操作、分支、循环结构都可以,就是一个vue实例
    })
    注意: 1、组件就是一个vue实例
                2、var app = new Vue({});是最大的组件

    2、局部组件注册

    注意:1、局部组件仅限于当前注册的父组件可以使用,当前也就是Vue对象可以使用,包括局部不能被全局和其他局部使用

                2、全局组件可以在任何地方使用

     

    二、父组件向子组件传递数据

    语法:
    Vue.component('组件名称',{
        props:[属性1,属性2.....]     //从父组件传递过来的
        data:function({return{}}),  
        template:这里可以开始传递值
    })
    注意: 1、props属性名采用短横线形式
                2、Html没法解析

    (2) 组件传值类型

     1 <body>
     2      <div id="app">
     3          <params-type pstr="我是字符串"     
     4                       :pnum="pnum"
     5                       :pobj="pobj"
     6                       :pboo="pboo"
     7                       :parr="parr">
     8           </params-type>
     9      </div>
    10 </body>
    11 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    12 <script type="text/javascript">
    13     /* 字符串String   typeof 检测变量数据类型
    14          1、静态传参默认String
    15          2、要传递以下参数需要动态绑定
    16        数值Number
    17        布尔值Boolean
    18        数组Array
    19        对象Object*/
    20        Vue.component('params-type', {
    21             props: ['pstr','pnum','pboo','pobj','parr'], //接收监听父组件传递的参数
    22             template: `<div>
    23                            <h1>{{pstr}}----->{{typeof pstr}}</h1>
    24                            <h1>{{pnum}}----->{{typeof pnum}}</h1>
    25                            <h1>{{pboo}}----->{{typeof pboo}}</h1>
    26                            <h1>{{typeof pobj}}</h1>
    27                            <h1>{{pobj.name}}</h1>
    28                            <h1>{{typeof parr}}</h1>
    29                            <ul>
    30                               <li v-for='item in parr'> <h1>{{item}}</h1></li>
    31                            </ul>
    32                      </div>`
    33         })
    34         /* var app = new Vue({});   是最大的组件 */
    35         var app = new Vue({
    36             el: "#app",
    37             data: {
    38                 pnum:123456,
    39                 pboo: 1 > 2 ?  true : false,
    40                 pobj:{name:'法外'},
    41                 parr:['法外','老王']
    42             },
    43             methods: {}
    44         })
    45 </script>

    (3) 兄弟之间组件传值

     

    语法:
    1、事件中心创建:var eventHub = new Vue();
    2、监听事件:eventHub.$on('eventName',param);
    3、触发事件:eventHub.$emit('eventName',param);
    4、销毁事件:eventHub.$off('eventName');

     

  • 相关阅读:
    ORACLE 日期格式
    Oracle 12c release 2的安装
    InstantClient+PLSQL安装配置教程
    POSTMAN打印日志与json文件传参
    POSTMAN Request的几个要素
    Python+selenium处理滚动条
    Keys 类键盘操作的常用方法
    ActionChains类鼠标操作的常用方法
    Python+webdriver 文件上传自动化
    【SDOI2011】染色
  • 原文地址:https://www.cnblogs.com/lxn521/p/13914284.html
Copyright © 2011-2022 走看看