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 相关文章推荐
Div自动滚动到末尾的代码
Oct 26 Javascript
javascript prototype 原型链
Mar 12 Javascript
基于JQuery的cookie插件
Apr 07 Javascript
asp.net 30分钟掌握无刷新 Repeater
Sep 16 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
Dec 26 Javascript
采用call方式实现js继承
May 20 Javascript
js在指定位置增加节点函数insertBefore()用法实例
Jan 12 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
Sep 24 Javascript
JS和canvas实现俄罗斯方块
Mar 14 Javascript
在Vue组件中使用 TypeScript的方法
Feb 28 Javascript
Vue-Cli项目优化操作的实现
Oct 27 Javascript
d3.js实现图形拖拽
Dec 19 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完整的日历类(CLASS)
2006/11/27 PHP
PHP print类函数使用总结
2010/06/25 PHP
PHP用GD库生成高质量的缩略图片
2011/03/09 PHP
浅析php创建者模式
2014/11/25 PHP
php显示时间常用方法小结
2015/06/05 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
js创建对象的方式总结
2015/01/10 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
2017/01/13 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
2019/01/31 Javascript
在vue中使用jsx语法的使用方法
2019/09/30 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
用python分割TXT文件成4K的TXT文件
2009/05/23 Python
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
使用python实现接口的方法
2017/07/07 Python
django_orm查询性能优化方法
2018/08/20 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
python小技巧——将变量保存在本地及读取
2020/11/13 Python
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
佳能德国网上商店:Canon德国
2017/03/18 全球购物
Cocopanda波兰:购买化妆品、护肤品、护发和香水
2020/05/25 全球购物
硕士研究生求职自荐信范文
2014/03/11 职场文书
竞选生活委员演讲稿
2014/04/28 职场文书
春游踏青活动方案
2014/08/14 职场文书
民事赔偿协议书
2014/11/02 职场文书
起诉书范文
2015/05/20 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP
Redis 配置文件重要属性的具体使用
2021/05/20 Redis
win11无法添加打印机怎么办? 提示windows无法打开添加打印机的解决办法
2022/04/05 数码科技
SpringBoot 集成短信和邮件 以阿里云短信服务为例
2022/04/22 Java/Android