组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用对应的组件即可。
组件化和模块化的不同:
模块化:是从代码逻辑的角度进行划分的;方便代码分层开发,保证每个功能模块的职能单一
组件化:是从UI界面的角度进行划分的;前端的组件化,方便UI组件的重用
方式一、
<div id='app'> <first-login></first-login> </div> <script> // 方式一
//声明组件内容 var first = Vue.extend({ template: '<h1>第一种方式</h1>' }) // 全局注册 参数一 组件名称(组件名称不支持驼峰命名) 参数二 组件内容 Vue.component('first-login',first) const vm = new Vue({ el: '#app', data: { }, methods: { }, }) </script>
方式二、
<div id='app'> <second-login></second-login> </div> <script> // 方式二 Vue.component('second-login',{ template:'<h1>第二种方式</h1>' }) const vm = new Vue({ el: '#app', data: { }, methods: { }, }) </script>
方式三、
<div id='app'> <!-- 方式三 --> <third-login></third-login> </div> <script type='template' id="third"> <h1>第三种方式</h1> </script> <script> // 方式三 Vue.component('third-login',{ template:'#third' }) const vm = new Vue({ el: '#app', data: { }, methods: { }, }) </script>
方式四、
<div id='app'> <!-- 方式四 --> <forth-login></forth-login> </div> <!-- 方法四 --> <template id="forth"> <!-- 只能有一个根元素 --> <h1>第四种方式</h1> </template> <script> // 方式四 Vue.component('forth-login', { template: '#forth' }) const vm = new Vue({ el: '#app', data: { }, methods: { }, }) </script>