zoukankan      html  css  js  c++  java
  • Vue踩坑记录

    组件名必须全小写

    官方文档没有声明组件名必须全小写

    Vue.component('my-component-name', {
      // ... options ...
    })
    

    但是我的第一个Vue组件踩了这个坑

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>My First Vue</title>
    </head>
    
    <body>
        <!-- view层 模板 -->
        <div id="app">
            <!-- <li> Hello, MelodyJerry! </li> -->
            <MelodyJerry> Hello, MelodyJerry! </MelodyJerry>
        </div>
    
        <!-- 1.导入Vue.js -->
        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
        <script>
            //先注册组件,定义一个Vue组件component
            Vue.component("MelodyJerry",{ //组件名必须全小写,一旦有大写,就会注册错误
                template: '<li> This is a Vue-Component. </li>'
            });
    
            //再实例化Vue
            var vm = new Vue({
                el: "#app",
            });
        </script>
    </body>
    </html>
    

    错误显示:

    Hello, MelodyJerry!
    

    正确显示,应该是:

    · This is a Vue-Component.
    

    methods和computed里调用方法要不要()

    • 调用methods里的方法,得用()
      • methods方法
    • 调用computed的方法,不能用()
      • computed计算属性,是属性
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>My First Vue</title>
    </head>
    
    <body>
        <!-- view层 模板 -->
        <div id="app">
            <!-- 调用methods里的方法,得用() -->
            <p>currentTime1: {{currentTime1()}}</p>
            <!-- 调用计算属性computed的方法,不能用() -->
            <p>currentTime2: {{currentTime2}}</p>
        </div>
    
        <!-- 1.导入Vue.js -->
        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
        
        <script>
            var vm = new Vue({
                el: "#app",
                data: {
                    message: "hello,melodyjerry."
                },
                methods: {
                    currentTime1: function() {
                        var Xmas95 = new Date("December 25, 1995 23:15:30");
                        return Xmas95.getDay(); //1;返回数值代表星期几:0代表星期日,1代表星期一,2代表星期二
                    },
                },
    
                //计算属性
                computed: { //methods、computed中的方法名不能重名;重名后,只会调用methods中的方法
                    currentTime2: function() {
                    //currentTime1: function() {
                        return Date.now(); //返回一个时间戳
                    },
                },
            })
        </script>
        
    </body>
    </html>
    

    methods、computed中的方法名不能重名

    • 重名后,只会调用methods中的方法
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>My First Vue</title>
    </head>
    
    <body>
        <!-- view层 模板 -->
        <div id="app">
            <!-- 调用方法得用() -->
            <p>currentTime1: {{currentTime1()}}</p>
            <p>currentTime1: {{currentTime1}}</p>
        </div>
    
        <!-- 1.导入Vue.js -->
        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
        
        <script>
            var vm = new Vue({
                el: "#app",
                data: {
                    message: "hello,melodyjerry."
                },
                methods: {
                    currentTime1: function() {
                        var Xmas95 = new Date("December 25, 1995 23:15:30");
                        return Xmas95.getDay(); //1;返回数值代表星期几:0代表星期日,1代表星期一,2代表星期二
                    },
                },
    
                //计算属性
                computed: { //methods、computed中的方法名不能重名;重名后,只会调用methods中的方法
                    currentTime1: function() {
                        return Date.now(); //返回一个时间戳
                    },
                },
            })
        </script>
        
    </body>
    </html>
    

    页面显示:

    currentTime1: 1
    
    currentTime1: function () { [native code] }
    
  • 相关阅读:
    Android popupwindow和dialog监听返回键
    Android开发常用资料传送门
    Android 自己搭建一个直播系统吧
    js 时间戳转换成几分钟前,几小时前,几天前
    Android 热补丁动态修复框架小结
    【活动】参加葡萄城控件主办的“谁是报表达人”知识评测活动,赢取iPad Mini2团队
    上周热点回顾(3.24-3.30)团队
    C#正则表达式引发的CPU跑高问题以及解决方法团队
    上周热点回顾(3.17-3.23)团队
    实际遭遇GC回收造成的Web服务器CPU跑高团队
  • 原文地址:https://www.cnblogs.com/melodyjerry/p/13782663.html
Copyright © 2011-2022 走看看