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 通用简单的table选项卡实现
May 07 Javascript
基于MooTools的很有创意的滚动条时钟动画
Nov 14 Javascript
15条JavaScript最佳实践小结
Aug 09 Javascript
Jquery实现图片左右自动滚动示例
Sep 25 Javascript
setInterval计时器不准的问题解决方法
May 08 Javascript
jquery-tips悬浮提示插件分享
Jul 31 Javascript
JS中setTimeout的巧妙用法前端函数节流
Mar 24 Javascript
JS实现物体带缓冲的间歇运动效果示例
Dec 22 Javascript
JS跨域请求外部服务器的资源
Feb 06 Javascript
深入理解Vuex 模块化(module)
Sep 26 Javascript
vue父组件点击触发子组件事件的实例讲解
Feb 08 Javascript
JS判断用户用的哪个浏览器实例详解
Oct 09 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下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
网页从弹窗页面单选框传值至父页面代码分享
2015/09/29 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
2017/03/09 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
React Native中Navigator的使用方法示例
2017/10/13 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
React Native时间转换格式工具类分享
2017/10/24 Javascript
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
利用Vue构造器创建Form组件的通用解决方法
2018/12/03 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
js实现超级玛丽小游戏
2020/03/18 Javascript
[02:53]DOTA2英雄昆卡基础教程
2013/11/25 DOTA
跟老齐学Python之print详解
2014/09/28 Python
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
Python实现多线程抓取妹子图
2015/08/08 Python
Zabbix实现微信报警功能
2016/10/09 Python
解决Python下imread,imwrite不支持中文的问题
2018/12/05 Python
python使用插值法画出平滑曲线
2018/12/15 Python
基于python的ini配置文件操作工具类
2019/04/24 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
2020/03/02 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
高三政治教学反思
2014/02/06 职场文书
房屋租赁协议书范本
2014/04/10 职场文书
大学新生入学教育方案
2014/05/16 职场文书
技校毕业生自荐信
2014/06/03 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
社区两委对照检查材料
2014/08/23 职场文书
安全施工责任书
2014/08/25 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
Redis主从配置和底层实现原理解析(实战记录)
2021/06/30 Redis