zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    操作系统第一章绪论
    JavaScript推断E-mail地址是否合法
    projecteuler----&gt;problem=8----Largest product in a series
    QQ聊天原理初识
    窗体和线程漫谈之工作线程怎样将数据的处理结果显示到窗体
    Swift
    iOS-UIApplication详解
    iOS开发拓展篇——如何把项目托管到GitHub
    Swift
    Swift
  • 原文地址:https://www.cnblogs.com/cjll/p/13706747.html
Copyright © 2011-2022 走看看