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 相关文章推荐
CSS+Jquery实现页面圆角框方法大全
Dec 24 Javascript
jquery 简单图片导航插件jquery.imgNav.js
Mar 17 Javascript
javascript 常用功能总结
Mar 18 Javascript
js闭包实例汇总
Nov 09 Javascript
JavaScript中提前声明变量或函数例子
Nov 12 Javascript
在Python中使用glob模块查找文件路径的方法
Jun 17 Javascript
Bootstrap实现提示框和弹出框效果
Jan 11 Javascript
Vue-Router实现页面正在加载特效方法示例
Feb 12 Javascript
Javascript实现登录记住用户名和密码功能
Mar 22 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
Mar 14 Javascript
vue-router跳转时打开新页面的两种方法
Jul 29 Javascript
React生命周期原理与用法踩坑笔记
Apr 28 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数组合并array_merge()函数使用注意事项
2014/06/19 PHP
编写PHP脚本过滤用户上传的图片
2015/07/03 PHP
Smarty环境配置与使用入门教程
2016/05/11 PHP
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
2009/11/27 Javascript
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
jQuery与Ajax以及序列化
2016/02/01 Javascript
JQuery为元素添加样式的实现方法
2016/07/20 Javascript
js实现鼠标左右移动,图片也跟着移动效果
2017/01/25 Javascript
vue中使用ueditor富文本编辑器
2018/02/08 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
使用kbone解决Vue项目同时支持小程序问题
2019/11/08 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
[32:07]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第一场 12.16
2020/12/17 DOTA
Python Paramiko模块的使用实际案例
2018/02/01 Python
详解Numpy中的广播原则/机制
2018/09/20 Python
正确理解Python中if __name__ == '__main__'
2019/01/24 Python
实例讲解Python3中abs()函数
2019/02/19 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
python双向链表原理与实现方法详解
2019/12/03 Python
tensorflow中tf.slice和tf.gather切片函数的使用
2020/01/19 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
python七种方法判断字符串是否包含子串
2020/08/18 Python
Python脚本调试工具安装过程
2021/01/11 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
世界上最大的售后摩托车零配件超市:J&P Cycles
2017/12/08 全球购物
出国留学自荐信
2013/10/25 职场文书
《雨点》教学反思
2014/02/12 职场文书
优秀的导游求职信范文
2014/04/06 职场文书
观看信仰心得体会
2014/09/04 职场文书
董事长新年致辞
2015/07/29 职场文书
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB