1、使用 Vue.extend 来创建全局组件
注意:当注册Vue.component("myCom1",com1);使用了驼峰命名,则在引用组件时需写成这种方式<my-com1></my-com1>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="vue/vue.js"></script>
</head>
<body>
<div id="app">
<my-com1></my-com1>
</div>
<script>
let com1 = Vue.extend({
template: "<h1>Hello</h1>"
});
Vue.component("myCom1",com1);
var vm = new Vue({
el: "#app",
data: {}
});
</script>
</body>
</html>
2、使用Vue.component()直接创建全局组件
注意:Vue.component("myCom1",{template: "<h1>Hello</h1>"})中只能有一个root(根)元素,如果写成Vue.component("myCom1",{template: "<h1>Hello</h1><span>111</span>"})这样,则会报错。应改成Vue.component("myCom1",{template: "<div><h1>Hello</h1><span>111</span></div>"})。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="vue/vue.js"></script>
</head>
<body>
<div id="app">
<my-com1></my-com1>
</div>
<script>
Vue.component("myCom1",{template: "<h1>Hello</h1>"});
var vm = new Vue({
el: "#app",
data: {}
});
</script>
</body>
</html>
3、通过template元素创建全局组件
注意:必须要写在vue实例控制的区域外面,优点:此种方式有代码智能提示和高亮
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="vue/vue.js"></script>
</head>
<body>
<div id="app">
<my-com1></my-com1>
</div>
<template id="com">
<div>
<h1>Hello</h1>
</div>
</template>
<script>
Vue.component("myCom1", {template:"#com"});
var vm = new Vue({
el: "#app",
data: {}
});
</script>
</body>
</html>