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 Cookie的读取和写入函数
Dec 08 Javascript
JavaScript聚焦于第一个字段的代码
Oct 15 Javascript
JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)
Aug 11 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
Dec 26 Javascript
angularjs实现多张图片上传并预览功能
Feb 24 Javascript
详解Node使用Puppeteer完成一次复杂的爬虫
Apr 18 Javascript
小程序指纹验证的实现代码
Dec 04 Javascript
JS中的算法与数据结构之集合(Set)实例详解
Aug 20 Javascript
vue.js循环radio的实例
Nov 07 Javascript
vue页面切换项目实现转场动画的方法
Nov 12 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
Nov 20 Javascript
vue点击按钮实现简单页面的切换
Sep 08 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
php cli 方式 在crotab中运行解决
2010/02/08 PHP
php 随机记录mysql rand()造成CPU 100%的解决办法
2010/05/18 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
2014/04/24 PHP
用Laravel轻松处理千万级数据的方法实现
2020/12/25 PHP
jQuery timers计时器简单应用说明
2010/10/28 Javascript
30个最佳jQuery Lightbox效果插件分享
2011/04/11 Javascript
jQuery对指定元素中指定字符串进行替换的方法
2015/03/17 Javascript
创建自己的jquery表格插件
2015/11/25 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
JavaScript中数组Array.sort()排序方法详解
2017/03/01 Javascript
vue2.0结合Element实现select动态控制input禁用实例
2017/05/12 Javascript
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
2017/11/28 Javascript
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
Python实现字符串与数组相互转换功能示例
2017/09/22 Python
机器学习的框架偏向于Python的13个原因
2017/12/07 Python
python实现学生管理系统
2018/01/11 Python
Python中property函数用法实例分析
2018/06/04 Python
python实现多层感知器
2019/01/18 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
python实现超市商品销售管理系统
2019/11/22 Python
Python读取配置文件(config.ini)以及写入配置文件
2020/04/08 Python
django使用graphql的实例
2020/09/02 Python
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
泰国的头号网上婴儿用品店:Motherhood.co.th
2019/04/09 全球购物
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
中秋节寄语2015
2015/03/24 职场文书
七年级作文之下雨天
2019/12/23 职场文书
导游词之昭君岛
2020/01/17 职场文书