2-5#去哪儿网app#前端组件化

一个页面由很多部分组成 比如轮播,定位等等。

如果没有组件化,则要把所有的代码都写在这个页面的业务逻辑上,就会很多,导致维护困难。

(所以目的是低耦合?

组件可以理解为页面的一个部分/区域,相当于页面由许多组件组成,一个button也可以看成组件。

所以使用组件化进行大型项目开发,可以使代码在后期维护性上得到极大的提高 。

 

分为全局组件和局部组件。下面贴一下局部组件化

组件化:把页面上的一些内容进行封装,其中props用于接收数据,template是模板,即V层中定义的todo-item标签会被template里写的标签替换掉。

原本用的是ul>li  v-for,现在用组件化,将组件封装,代码如下:

<ul>
    <!-- <li v-for="item in list">{{item}}</li> -->
    <!-- 使用了v-for  所以只写一个li就可以  自动遍历 -->
    <todo-item v-bind:content="item" v-for="item in list">
        <!-- 通过for获得item 再通过v-bind 将item传给子组件todo-item -->
    </todo-item>
    <!-- 小横线要加上 -->
    <!-- 这个标签名字todo-item对应的是component方法中的"TodoItem"名字,而不是todo item,即也可以to-item,则下面的名字改为"ToItem" -->
</ul>
// 《局部组件》
var TodoItem = {
    props: ['content'],
    template: "<li>{{content}}</li>"
}

var app = new Vue({
    // vue实例化
    el: '#app',
    //把TodoItem注册到vue中
    components: {
        TodoItem: TodoItem
    },  //与全局组件不同的是
        //记得这里要注册一下

补充:

<!-- jQuery是MVP模式  M模型层(与AJAX有关系) V视图层(DOM 即下面div盒子) P控制器(即JS的逻辑代码) -->
<!-- 而vue是MVVM模式  没有P层 取而代之是ViewModel层 并且不需要关注这层 因为是vue内置的-->

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值