在HTML文件中使用VUE组件

一、前言

本文的主要目的是学习如何在html文件中定义并使用组件。
主要内容是定义一个用来展示文本的组件,在 <ol> 标签内部循环展示一个列表。
学习本文前需要掌握html基础,vue实例,v-for指令。

二、示例

1、流程

  1. 引入vue.js文件
<script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
  1. 定义组件
Vue.component('todo-item', {
    props: ['todo'],
    template: '<li>{{ todo.text }}</li>'
});

todo-item是组件的名字,props中声明从外部传入组件中的值,template定义组件的内容和样式。

  1. 创建vue实例
var vm = new Vue({
    el: '#app',
    data: {
        groceryList: [
            { id: 0, text: '蔬菜' },
            { id: 1, text: '奶酪' },
            { id: 2, text: '牛肉' }
        ]
    }
});

数组groceryList是需要展示的数据。

  1. 使用组件
<todo-item v-for="item in groceryList" :key="item.id" :todo="item"></todo-item>

定义的组件用标签的形式使用,示例:<todo-item></todo-item>。v-for指令循环数组的每一项item,将item的值传给todo-item组件的todo变量。

2、完整代码

<!DOCTYPE html>
<html>

<head>
    <title>使用组件示例</title>
    <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
</head>

<body>
    <div id="app">
        <ol>
            <todo-item v-for="item in groceryList" :key="item.id" :todo="item"></todo-item>
        </ol>
    </div>
    <script>
        Vue.component('todo-item', {
            props: ['todo'],
            template: '<li>{{ todo.text }}</li>'
        });
        var vm = new Vue({
            el: '#app',
            data: {
                groceryList: [
                    { id: 0, text: '蔬菜' },
                    { id: 1, text: '奶酪' },
                    { id: 2, text: '牛肉' }
                ]
            }
        });
    </script>
</body>

</html>

3、目录结构

|
|--html                      // 保存html文件
|  |--index.html             // 示例起始页
|--js                        // 保存js文件
|  |--vue.js                 // vue框架js文件

三、总结

  1. 使用Vue.component()定义组件。
  2. 用标签的形式使用组件。
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值