Vue组件的3种书写形式

mac2025-03-16  12

Vue组件的3种书写形式

第一种使用script标签:

 

<!DOCTYPE html> <html>     <body>         <div id="app">             <my-component></my-component>         </div> <-- 注意:使用<script>标签时,type指定为text/x-template,意在告诉浏览器这不是一段js脚本,浏览器在解析HTML文档时会忽略<script>标签内定义的内容。--> <script type="text/x-template" id="myComponent">//注意 type 和id。             <div>This is a component!</div>         </script>     </body>     <script src="js/vue.js"></script>     <script>         //全局注册组件         Vue.component('my-component',{             template: '#myComponent'         })         new Vue({             el: '#app'         }) </script> </html>

第二种使用template标签:

<!DOCTYPE html> <html>     <head>         <meta charset="UTF-8">         <title></title>     </head>     <body>         <div id="app">             <my-component></my-component>         </div>         <template id="myComponent">             <div>This is a component!</div>         </template>     </body>     <script src="js/vue.js"></script>     <script>         Vue.component('my-component',{             template: '#myComponent'         })         new Vue({             el: '#app'         })     </script> </html>

第三种 单文件组件:

这种方法常用在vue单页应用中。创建.vue后缀的文件,组件Hello.vue,放到components文件夹中

<template>   <div class="hello">     <h1>{{ msg }}</h1>   </div> </template>   <script> export default {   name: 'hello',   data () {     return {       msg: '欢迎!'     }   } } </script>

app.vue

<!-- 展示模板 --> <template>   <div id="app">     <img src="./assets/logo.png">     <hello></hello>   </div> </template>   <script> // 导入组件 import Hello from './components/Hello'   export default {   name: 'app',   components: {     Hello   } } </script> <!-- 样式代码 --> <style> #app {   font-family: 'Avenir', Helvetica, Arial, sans-serif;   -webkit-font-smoothing: antialiased;   -moz-osx-font-smoothing: grayscale;   text-align: center;   color: #2c3e50;   margin-top: 60px; } </style>

 

最新回复(0)