乐优商城day04

所有代码发布在 [https://github.com/hades0525/leyou]

 

day04

2019121

15:30

 

ES6新特性:

  1. 新的关键字
    1. let:定义局部变量
    2. const:定义常量
  2. 解构表达式
    1.  

let arr =[2,5,-1,9]

取得前两个值 let [x,y]=arr

取得后两个值 let [,,a,b]=arr

取得处了第一个后面的值放到一个数组中 let [,…rest] = arr

  1.  

let p ={name:"jack",age:21}

取得对象中的值 let {name,age}  = p

取得对象中的值并且赋值给n  let {name:n} = p

复制对象到obj  let {…obj} = p;

  1. 函数优化
    1. const add = (a,b) => a+b;
    2. cosnt p ={

name:"mary",

age:21,

sayhello(){

console.log("hello es6");

}

}

  1. const hello = ({name,age}) => console.log(name,age);

hello(p);

  1. map和reduce
    1.  

let arr=['2','5','-10']

把字符数组变为int数组 let arr2=arr.map(s => parseInt(s));

    1.   arr2.reduce((a,b) => a+b,0)

 

Vue前端框架:

    1. 2005年,前端主要用ajax与后台交互,操作dom实现动态界面,用jquery框架
    2. 2009年发布基于时间循环的异步IO框架:Node.js.使JS成为前后端统一编程语言。

在node的基础上,涌现了一大批前端框架。

    1. MVVM模式:
      1. M:model,模型,包括诗句和一些基本操作

V:view,视图,页面渲染结果

VM:View-Model,模型与视图间的双向操作(无需开发人员干涉)

    1. 把dom操作完全封装,开发人员无需考虑model与view如何互相影响,只需关注如何操作model。

使用:

    1. 安装node.js
      1. 切换镜像  npm install nrm -g

nrm ls        nrm use taobao           nrm test taobao   安装完后,重启一次

    1. 新建空项目,新建static web module。

终端引入vue:npm inti -y                 npm install vue --save

    1. 新建html,引入依赖<scriptsrc="node_modules/vue/dist/vue.js"></script>
    2. 示例

<div id="app">

    <button @click="handleClick()">点我</button>

    <br>

    <input type="text" v-model="num"> <button @click="num++">+</button>

    <h1>

        {{name}}  非常帅!!<br>

        {{num}}为人

    </h1>

</div>

 

<script src="node_modules/vue/dist/vue.js"></script>

<script>

    const app = new Vue({

        el:"#app",//element,vue作用的标签

        data:{

            name:"虎哥",

            num:1

        },

        methods:{

            handleClick(){

                console.log("hello!");

            }

        }

    });

</script>

    1. Vue的生命周期

beforecreate,created等等…

    1. Vue的指令(用在标签上)
      1. 插值表达式{{}}:一般不用,因为当网速较差时会出现插值闪烁
      2. v-text:如果数据有html代码,会作为普通文本输出

v-html:会把html代码渲染

    1. v-model:双向绑定,view和model相互影响

可用于:input,select,textarea,checkbox,radio等

<h1>开设的课程</h1>

    <input type="checkbox" v-model="lessons" value="java"/>java <br>

    <input type="checkbox" v-model="lessons" value="python"/>python <br>

    <input type="checkbox" v-model="lessons" value="c# "/>c# <br>

 

    <h1>

        以购买课程:{{lessons.join("","")}}

    </h1>

 

data:{

lessons:[]

},

 

    1. v-on:用于绑定事件 ,可以简写 v-on:click简写为@click
      1. 阻止事件冒泡(即点击子标签触发了父标签的事件):@click.stop
      2. @click.prevent:阻止事件发生
      3. .capture:使事件捕获模式
      4. .self:只有元素自身触发事件才执行
      5. .one:之执行一次
    2. v-for:for循环遍历

users:[

                {name:"aa",gender:"女",age:22},

                {name:"a1a",gender:"女",age:22},

                {name:"a2a",gender:"女",age:22},

                {name:"a3a",gender:"女",age:22}

            ]

 

    1. 数组遍历

   <!--数组遍历-->

    <ul>

        <li v-for="(user,idx) in users">

            {{idx}}  {{user.name + ","+user.gender+","+user.age}}

        </li>

    </ul>

    1. 对象遍历

   <ul>

        <li v-for="(value,key,idx) in users[0]">

            {{key+"::"+value+"_"+idx}}

        </li>

    </ul>

    1. 数字遍历

   <ul>

        <li v-for="i in 5">

            {{i}}

        </li>

    </ul>

    1. :key  <liv-for="(user,idx)inusers"  :key="idx">

为遍历的每一项添加一个key,当data里面的数据项变更时,根据key可以直接找到修改的那一项,只重新渲染修改那一项,不去重新渲染其他的,提高渲染的效率。

    1. v-if:当得到结果为true,所在元素才会被渲染,不然会被在页面删除,更加消耗性能

<!--v-if-->

    <button @click="show = !show">点击切换</button><br/>

    <h1 v-if="show">

        你好

    </h1>

    <ul>

        <li v-for="i in 5">{{i}}

            <span v-if="i%2 === 0">偶数:{{i}}</span>

            <span v-else style="background-color: blue;">奇数:{{i}}</span>

        </li>

    </ul>

    1. v-show:和v-if类似,但是它是通过css的style="display:none"实现隐藏
    2. v-bind:把普通的html属性变成vue的特有属性,可以简写为冒号:

<divid="box":class="color">

我是盒子

</div>

 

<button@click="isRed=!isRed">点击切换颜色</button>

<divid="box":class="{red:isRed,blue:!isRed}">

我是盒子

</div>

    1. 计算属性:

computed:{

birth(){

console.log(1);

constday=newDate(this.birthday);

returnday.getFullYear()+"年"+day.getMonth()+"月"+day.getDay()+"日";

}

}

    1. watch:监控

浅监控:对于值。 深监控:对于对象,要加deep属性。

  watch:{

            num(val,oldval){

                console.log(val,oldval);

            },

            person:{

                deep:true,

                handler(val){

                    console.log(val.age);

                }

            }

        }

    1. 组件化
      1. 组件创建
      1. 全局组件

/*定义全局组件*/

/*    Vue.component("counter",{

        template:"<button @click='count++'>点我试试,点了{{count}}次</button>",

        data(){

            return {

                count:0

            }

        }

    });*/

    1. 局部组件

  /*局部组件*/

    const counter = {

        template:"<button @click='count++'>点我试试,点了{{count}}次</button>",

        data(){

            return {

                count:0

            }

        }

    };

 

components:{

counter:counter

}

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《淘淘商城-day08.docx》是一份关于淘淘商城第八天工作的文档。在这一天,淘淘商城的团队采取了一系列措施来进一步提升用户体验和销售业绩。 首先,团队进行了网站内容的优化。他们对商品详情页进行了修复和更新,确保信息的准确性和完整性。同时,他们也对页面的布局进行了调整,使得用户更容易浏览和购买商品。这些改进措施能够提升用户的满意度和购买转化率。 其次,团队还加强了与供应商的合作关系。他们与一些热门品牌建立起了合作伙伴关系,以获得独家销售权或更优惠的价格。这不仅能够吸引更多的用户,还能提高淘淘商城的竞争力。 另外,团队还对物流配送进行了优化。他们与一家可靠的物流公司合作,以确保商品能够及时、安全地送达给用户。他们还推出了更快速、更便捷的配送选项,如次日达和晚间配送,以满足用户的各种需求。 为了增加用户的复购率,团队还积极进行了促销活动。他们推出了限时限量的特价商品,以及购买一定金额就能获得赠品或折扣的优惠活动。这些促销措施能够吸引用户重复购买,并提升销售额。 总之,《淘淘商城-day08.docx》记录了淘淘商城团队在第八天所做的一系列工作。通过网站内容优化、供应商合作、物流配送优化和促销活动,团队致力于提升用户体验和销售业绩,从而使淘淘商城更加竞争和成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值