vue组件的3种书写形式

来源:互联网 发布:什么是数据资源 编辑:程序博客网 时间:2024/05/16 14:13

第一种使用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单页应用中。详情看官网:https://cn.vuejs.org/v2/guide/single-file-components.html
创建.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>
原创粉丝点击