Vue组件模板的几种书写形式(3种)


Posted in Javascript onFebruary 19, 2020

1.第一种使用script标签

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  </head>
  <body>
    <div id="app">
      <test-component></test-component>
    </div>
    <script type="text/x-template" id="testComponent"><!-- 注意 type 和id。 -->
      <div>{{test}} look test component!</div>
    </script>
  </body>
  <script>
    //全局注册组件
    Vue.component('test-component',{
      template: '#testComponent', 
      data(){
       return{
        test:"hello"
       }
      }
    })

    new Vue({
      el: '#app'
    })
  </script>
</html>

注意:使用<script>标签时,type指定为text/x-template,意在告诉浏览器这不是一段js脚本,
浏览器在解析HTML文档时会忽略<script>标签内定义的内容。

2.第二种使用template标签

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  </head>
  <body>
    <div id="app">
      <test-component></test-component>
    </div>

    <template id="testComponent">
      <div>look test component!</div>
    </template>
  </body>
  <script>

    Vue.component('test-component',{
      template: '#testComponent'
    })

    new Vue({
      el: '#app'
    })

  </script>
</html>

当然,如果template内容少的话,我们可以直接在组件中书写,而不需要用template标签。像下面这样:

Vue.component('test-component',{
    template:`<h1>this is test,{{test}}</h1>`,
    data(){
     return{
       test:"hello test"
       }
      }
  })

3.第三种 单文件组件

这种方法常用在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>

以上就是Vue组件模板的几种书写形式(3种)的详细内容,更多关于Vue 组件模板请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
JavaScript 学习笔记(四)
Dec 31 Javascript
JavaScript设计模式之代理模式介绍
Dec 28 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
Aug 10 Javascript
js判断日期时间有效性的方法
Oct 24 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
Dec 02 Javascript
vue实现简单实时汇率计算功能
Jan 15 Javascript
微信小程序实战之自定义模态弹窗(8)
Apr 18 Javascript
vue.js项目打包上线的图文教程
Nov 16 Javascript
ES10 特性的完整指南小结
Mar 04 Javascript
JavaScript中Dom操作实例详解
Jul 08 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
Sep 05 Javascript
基于layui的下拉列表的数据回显方法
Sep 24 Javascript
详解Vue 单文件组件的三种写法
Feb 19 #Javascript
vue中 v-for循环的用法详解
Feb 19 #Javascript
vue 使用v-for进行循环的实例代码详解
Feb 19 #Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
Feb 19 #Javascript
ES6中new Function()语法及应用实例分析
Feb 19 #Javascript
es6中使用map简化复杂条件判断操作实例详解
Feb 19 #Javascript
JS继承定义与使用方法简单示例
Feb 19 #Javascript
You might like
当年上海收录机产品生产,进口和价格情况
2021/03/04 无线电
php生成xml简单实例代码
2009/12/16 PHP
php定时计划任务的实现方法详解
2013/06/06 PHP
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
PHP实现中文圆形印章特效
2015/06/19 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
JavaScript中string对象
2015/06/12 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
原生js三级联动的简单实现代码
2016/06/07 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
JS闭包经典实例详解
2018/12/20 Javascript
详解小程序之简单登录注册表单验证
2019/05/13 Javascript
javascript单张多张图无缝滚动实例代码
2020/05/10 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
微信跳一跳python代码实现
2018/01/05 Python
Python基于递归实现电话号码映射功能示例
2018/04/13 Python
快速解决PyCharm无法引用matplotlib的问题
2018/05/24 Python
Python错误处理操作示例
2018/07/18 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
python实现把二维列表变为一维列表的方法分析
2019/10/08 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
NIHAOMARKET官方海外旗舰店:意大利你好华人超市
2018/01/27 全球购物
英国浴室洗脸盆购物网站:Click Basin
2018/06/08 全球购物
销售内勤岗位职责
2014/04/15 职场文书
爱心捐助倡议书
2014/05/19 职场文书
企业标语口号
2014/06/10 职场文书
社区活动策划方案
2014/08/21 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电