Vue组件定义

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue组件定义</title>
    <!--<script src="vue.js"></script>-->
    <script type="text/javascript" src="https://unpkg.com/vue"></script>
</head>
<body>
<div id="app">
    <!--<user-info-component></user-info-component>-->
    <user-info-component2 title-name="系统一"></user-info-component2>
    <user-info-component2 title-name="系统二"></user-info-component2>
	<!--调用局部组件-->
    <!--<dept-select></dept-select>-->
</div>

<template id="deptTemplate">
    <!--必须要包含一个根元素-->
    <div>
        <p>{{titleName}}</p>
        <p>用户名: {{userName}}</p>
        <p>角色: {{roleName}}</p>
    </div>
</template>
<script>
    //定义一个简单全局组件 1, 直接写字符串
    Vue.component('user-info-component',{
        template:'<div>' +
            '<p>用户名: {{userName}}</p>' +
            '<p>角色: {{roleName}}</p>' +
            '</div>',
        data: function () {
            return {
                userName:'admin',
                roleName:'管理员'
            }
        }
    });

    //定义一个简单全局组件 2, 引用template
    Vue.component('user-info-component2',{
        template:'#deptTemplate',
        data: function () {
            return {
                userName:'admin',
                roleName:'管理员'
            }
        },
        //定义调用者需要传的参数
        //注意, 注意,  命名在 JavaScript 中是 camelCase 的,  在 HTML 中是 kebab-case 的
        props:['titleName']
    });

    new Vue({
        el:'#app',
        //定义局部组件
        components:{
            'dept-select':{
                template: '<div><select><option v-for="item in data" :value="item.value">{{item.name}}</option></select></div>',
                data: function () {
                    return {
                        data:[
                            {value:'caiwu',name:'财务部'},
                            {value:'xinxi',name:'信息部'}
                        ]
                    }
                }
            }
        }
    });
</script>
</body>
</html>
  • 如果我们要定义一个通用组件, 可以放在一个js文件里边, 供其他页面调用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值