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 基础知识 被自己遗忘的
Oct 15 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
Mar 12 Javascript
深入分析js中的constructor和prototype
Apr 07 Javascript
JavaScript 消息框效果【实现代码】
Apr 27 Javascript
有关文件上传 非ajax提交 得到后台数据问题
Oct 12 Javascript
javascript创建对象的3种方法
Nov 02 Javascript
JavaScript数据结构链表知识详解
Nov 21 Javascript
jQuery获取Table某列的值(推荐)
Mar 03 Javascript
vue使用drag与drop实现拖拽的示例代码
Sep 07 Javascript
javascript填充默认头像方法
Feb 22 Javascript
vue实现简单的星级评分组件源码
Nov 16 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
May 10 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使用Session遇到的一个Permission denied Notice解决办法
2014/07/30 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
2020/06/05 PHP
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
jQuery中[attribute=value]选择器用法实例
2014/12/31 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
2016/08/06 Javascript
微信小程序-消息提示框实例
2016/11/24 Javascript
微信小程序 天气预报开发实例代码源码
2017/01/20 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
Vue页面跳转传递参数及接收方式
2020/09/09 Javascript
用Python登录Gmail并发送Gmail邮件的教程
2015/04/17 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
在django中form的label和verbose name的区别说明
2020/05/20 Python
tensorflow使用CNN分析mnist手写体数字数据集
2020/06/17 Python
python如何调用php文件中的函数详解
2020/12/29 Python
CSS3新属性transition-property transform box-shadow实例学习
2013/06/06 HTML / CSS
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
市场营销战略计划书
2014/05/06 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
2015个人半年总结范文
2015/03/09 职场文书
go web 预防跨站脚本的实现方式
2021/06/11 Golang
2021年最新用于图像处理的Python库总结
2021/06/15 Python
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python
Python测试框架pytest高阶用法全面详解
2022/06/01 Python