Vue 组件的出现,就是为了拆分 Vue 实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用对应的组件即可。
Vue 组件系统是 Vue 的一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用。通常一个应用会以一棵嵌套的组件树的形式来组织。
Vue 组件是可复用的 Vue 实例,且带有一个名字。把这个组件作为自定义元素来使用。组件的好处是写一次可以进行任意次数的复用。
<body>
<div id="app">
<!-- 如果要使用组件,直接把组件的名称,以 HTML 标签的形式,引入到页面中即可 -->
<componentname></componentname>
</div>
</body>
<script type="text/javascript">
// 使用 Vue.extend 来创建全局的 Vue 组件
var com = Vue.extend({
template:'<h3>使用 Vue.extend 来创建 Vue 全局组件</h3>'//通过template属性,指定了组件要展示的HTML结构
})
//使用 Vue.component('组件名称', 创建出来的组件模板对象)
Vue.component('componentname', com)
var vm = new Vue({
el : '#app'
});
</script>
我们首先使用 Vue.extend() 方法来创建一个全局的 Vue 组件,然后通过 template 属性,指定了组件要展示的 HTML 结构。接着使用 Vue.component() 将组件名称和组件的模板对象进行绑定。
如果要使用组件,直接把组件的名称,以 HTML 标签的形式,引入到页面中即可,这种创建的组件是 Vue 全局组件。
如果定义的组件名是驼峰命名的形式,那么我们在页面调用的时候,需要将驼峰命名法的形式改成 - 不然引用不成功
<!DOCTYPE html>
<html>
<head>
<title>使用 Vue.extend 来创建 Vue 全局组件</title>
<script type="text/javascript" src="./lib/vue-2.6.10.min.js"></script>
</head>
<body>
<div id="app">
<!-- 如果要使用组件,直接把组件的名称,以 HTML 标签的形式,引入到页面中即可 -->
<mycom1></mycom1>
<!-- 如果定义的组件名是驼峰命名的形式,那么我们在页面调用的时候,需要将驼峰命名法的形式改成 - 不然引用不成功 -->
<my-com1></my-com1>
<p>嗨客网(www.haicoder.net)</p>
</div>
</body>
<script type="text/javascript">
// 使用 Vue.extend 来创建全局的 Vue 组件
var com1 = Vue.extend({
template:'<h3>使用 Vue.extend 来创建 Vue 全局组件</h3>'//通过template属性,指定了组件要展示的HTML结构
})
//使用 Vue.component('组件名称', 创建出来的组件模板对象)
Vue.component('mycom1', com1)
Vue.component('myCom1', com1)
var vm = new Vue({
el : '#app'
});
</script>
</html>
浏览器运行效果,如下图所示:
我们首先使用 Vue.extend() 方法来创建一个全局的 Vue 组件,该全局组件要展示的 HTML 结构就是一个 h3 标签。
接着使用 Vue.component() 将组件名称 mycom1 和组件的模板对象 com1 进行绑定。接着我们再次使用 Vue.component() 将组件名称 myCom1 和组件的模板对象 com1 进行绑定。
最后,我们以 HTML 标签的形式,将组件引入到了页面中。
<!DOCTYPE html>
<html>
<head>
<title>使用 Vue.extend 来创建 Vue 全局组件</title>
<script type="text/javascript" src="./lib/vue-2.6.10.min.js"></script>
</head>
<body>
<div id="app">
<!-- 如果要使用组件,直接把组件的名称,以 HTML 标签的形式,引入到页面中即可 -->
<mycom1></mycom1>
<p>嗨客网(www.haicoder.net)</p>
</div>
</body>
<script type="text/javascript">
// Vue.component第一个参数:组件的名称,将来在引用组件的时候,就是一个 标签的形式
// 第二个参数:Vue.extend 创建的组件,其中 template 就是组件将来要展示的内容
Vue.component('mycom1', Vue.extend({
template:'<h3>使用 Vue.extend 来创建 Vue 全局组件</h3>'
}))
var vm = new Vue({
el : '#app'
});
</script>
</html>
浏览器运行效果,如下图所示:
Vue.component 的第二个参数可以直接使用 Vue.extend 来写。
Vue 组件的出现,就是为了拆分 Vue 实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用对应的组件即可。
如果定义的组件名是驼峰命名的形式,那么我们在页面调用的时候,需要将驼峰命名法的形式改成 - 不然引用不成功。