vue3的语法

1.vue3基本结构

vue3可以导入本地版本或者在线版本

1.1 vue3创建根组件

vue2中的vue是一个构造函数,创建根组件用new关键字创建

const vm = new Vue({})

vue3中vue是一个对象,创建根组件如下:

const app = Vue.createApp({})

1.2 vue3引入根标签

app.mount(“#myApp”)

vue3使用mount()函数渲染组件模板,作用相当于vue2的el属性

1.3 setup函数

vue3中新增了一个setup函数,相当于生命周期函数,他会在beforeCreate之前被调用,所以setup中不能使用this

            setup(props) {
                console.log("setup", this) // window
            },

vue3废除了filters过滤器,不再支持此语法

2,vue3生命周期

2.1 创建vue3代码片段

vscode打开,文件–首选项–用户片段—新建全局代码片段–MyVue3,创建之后在文件中复制以下代码即可:

{
  "vue3": {
    "scope": "html",
    "prefix": "myVue3",
    "body": [
      "<script src='https://unpkg.com/vue@next'></script>",
      "<div id='myApp'>",
        "\t",
      "</div>",
      "<script>",
        "\tvar vm = {",
          "\t\tsetup() {",
            "\t\t\t",
          "\t\t}",
        "\t}",
        "\tVue.createApp(vm).mount('#myApp')",
      "</script>",
    ],
    "description": "这是我的vue3结构的代码片段"
  }
}
2.2 vue3生命周期

vue2中的生命周期写法,vue3可兼容。vue3中把生命周期全部放在setup函数中实现

  • vue3中创建过程的两个钩子已经被废除,销毁前和销毁后钩子被改成onbeforeUnmount、onUnmounted
  • vue3中调用生命周期钩子用到组合式API(Hook inside)
  • vue3钩子之间不能用逗号,否则会报错

调用生命周期钩子如下:

setup(a,b,c) {
                Vue.onBeforeMount(() => {
                    console.log("beforeMount")
                });
                Vue.onMounted(() =>{
                    console.log("mounted")
                })
                Vue.onBeforeUpdate(() => {
                    console.log("beforeUpdate")
                })
                Vue.onUpdated(() => {
                    console.log("updated")
                })
                Vue.onBeforeUnmount(() => {
                    console.log("beforeUnmount")
                })
                Vue.onUnmounted(() => {
                    console.log("unmounted")
                })
            }
2.3 vue3定义动态数据

vue2中使用data定义数据,定义后用this调用并修改, 但是setup中不能用this, 所以vue3中的动态数据不要在data中定义了,在setup中定义

Vue.ref定义动态数据,setup中所有的变量或函数都需要在return中返回才能在模板中调用

 const age = Vue.ref(0)
  • 通过Vue.ref定义的数据,会被放入对象的value字段中
  • 使用对象调用value字段才是动态数据
  • vue3响应式数据在setup中使用Vue.ref()定义, 会包裹一层对象, 在js中使用时,调用value属性, 模板中不需要调value
2.4 vue3定义函数
          const add = ()=>{ }
对于vue3语法高亮混乱的问题,你可以尝试以下解决方法。首先,确保你已经安装了Vetur插件。然后,按照以下步骤进行设置。打开VSCode,点击左下角的齿轮图标,进入设置。在搜索框中搜索"setting",点击"字体",然后再setting.json文件中进行编辑。在文件中添加如下代码: ``` "files.associations": { "*.vue": "html" } ``` 保存文件后,重启VSCode,你应该能够看到vue文件的语法高亮效果恢复正常了。如果问题仍然存在,你可以尝试恢复VSCode的初始设置。你可以找到VSCode的配置文件,并注释掉其中的所有内容,然后在文件中添加以下代码: ``` { "editor.fontSize": 16 } ``` 保存文件后,重启VSCode,这样应该能够解决语法高亮混乱的问题。希望对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [vscode开发vue项目 代码高亮/语法提示 失效解决方法](https://blog.csdn.net/qq_39167720/article/details/125936962)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [vscode之.Vue文件高光显示及报错问题](https://blog.csdn.net/z914020826/article/details/126941441)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值