• vue组件的驼峰式命名与短横线分割命名


    起因是因为看见下图,自己没明白为什么,从而上网查了一下。

    参考:https://blog.csdn.net/qq_43650979/article/details/105839130

    官网给出说明为:

    1.注册组件的时候使用了驼峰命名
    如果在注册组件的时候使用了驼峰命名, 那么在使用时需要转换成短横线分隔命名

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>组件命名</title>
     6     <script src="js/vue.js"></script>
     7 </head>
     8 <body>
     9 <div id="app">
    10     <my-son></my-son><!-- 使用时:短横线分割命名-->
    11 </div>
    12 <template id="son">
    13     <div>
    14         <p>......</p>
    15     </div>
    16 </template>
    17 <script>
    18     Vue.component("mySon", { // 注册时:驼峰式命名
    19         template: "#son",
    20     });
    21     let vue = new Vue({
    22         el: '#app',
    23     });
    24 </script>
    25 </body>
    26 </html>
    2.传递数据时使用驼峰名称
    如果父组件向子组件传递数据时使用了短横线分隔命名, 子组件接收时写驼峰式命名

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>组件命名</title>
     6     <script src="js/vue.js"></script>
     7 </head>
     8 <body>
     9 <div id="app">
    10     <my-son :parent-name="name"></my-son><!-- 向子组件传递数据:短横线分割命名,不能使用驼峰式-->
    11 </div>
    12 <template id="son">
    13     <div>
    14         <p>{{parentName}}</p><!-- 驼峰式使用-->
    15     </div>
    16 </template>
    17 <script>
    18     Vue.component("mySon", {
    19         template: "#son",
    20         props:["parentName"] // 驼峰式接收
    21     });
    22     let vue = new Vue({
    23         el: '#app',
    24         data:{
    25             name:"test"
    26         }
    27     });
    28 </script>
    29 </body>
    30 </html>
    View Code
    3.传递方法时双方都不能使用驼峰命名, 只能用短横线分隔命名

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>组件命名</title>
     6     <script src="js/vue.js"></script>
     7 </head>
     8 <body>
     9 <div id="app">
    10     <my-son :parent-name="name" @parent-fn="fn"></my-son><!-- 向子组件传递方法:短横线分割命名,不能使用驼峰式-->
    11 </div>
    12 <template id="son">
    13     <div>
    14         <button @click="fn">按钮</button>
    15         <p>{{parentName}}</p>
    16     </div>
    17 </template>
    18 <script>
    19     Vue.component("mySon", {
    20         template: "#son",
    21         props:["parentName"],
    22         methods:{
    23             fn(){
    24                 this.$emit("parent-fn"); // 短横线式接收
    25             }
    26         }
    27     });
    28     let vue = new Vue({
    29         el: '#app',
    30         data:{
    31             name:"test1"
    32         },
    33         methods:{
    34             fn(){
    35                 console.log("test2");
    36             }
    37         }
    38     });
    39 </script>
    40 </body>
    41 </html>
    View Code
  • 相关阅读:
    java 多线程 Callable -- 分段处理一个大的list 然后再合并结果
    java实现 比较两个文本相似度-- java 中文版 simHash 实现 ,
    spring 多线程 写入数据库 和 写入 xml文件
    爬虫入门 手写一个Java爬虫
    java web 入门级 开发 常用页面调试方法
    Java 递归调用 recursive 给一个参数 返回一大堆
    javaWeb 基础知识
    用 eclipse 创建一个简单的 meaven spring springMvc mybatis 项目
    【题解】【LibreOJ Beta Round #5】游戏 LOJ 531 基环树 博弈论
    【题解】Popping Balls AtCoder Code Festival 2017 qual B E 组合计数
  • 原文地址:https://www.cnblogs.com/cjll/p/13706747.html
Copyright © 2020-2023  润新知