vue

安装步骤:https://www.cnblogs.com/zhaomeizi/p/8483597.html

1.vue基本架构

var vm = new Vue({
  el:"#app",
  data:{
    //值
  },
  filter:{
    //过滤器
  },
  mounted:{
    //加载执行
  this.$nextTick(function () {
  // 代码保证 this.$el 在 document 中
 })
 }, methods:{ //方法 } });

2.vue-resource返回值

this==vm

_this == vm  但是作用域发生了改变

3.v-for 循环 item -- val   index -- key

<ul id="example-1">
  <li v-for=" (item,index) in items">
    {{ item.message }}
  </li>
</ul>

4.v-model :数据双向

5.图片地址

<img v-bind:src="item.imgurl" />

6.demo
var vm = new Vue({
        el:'#app',
        data:{
            account:'',
            password:'',
            yzm:''
        },
        filters:{
        },
        mounted:function(){
            this.$nextTick(function(){
            })
        },
        methods:{
            login:function(){
                var _this = this;
                var account = trim(this.account);
                if(account == ''){
                    layer.msg('请填写账户',{time: 2000});  return false;
                }
                if(account.length < 6 || account.length > 20){layer.msg('账号长度不对',{time: 2000}); return false; }
                var password = trim(this.password);
                if(password == ''){
                    layer.msg('请填写密码',{time: 2000});  return false;
                }
                if(password.length < 6 || password.length > 20){layer.msg('密码长度不正确',{time: 2000}); return false; }
                var yzm = trim(this.yzm);
                if(yzm==''){layer.msg('请填写验证码',{time: 2000}); return false; }
                this.$http.post("{$url}",{account:this.account,password:this.password,yzm:this.yzm},{before:function(request){
                        layer.load(0, {shade: false});
                    }}).then(function(res){
                        layer.closeAll();
                    if(res.body.state){
                        layer.msg(res.body.msg,{time: 2000},function(){
                            window.location.href=res.body.headurl;
                        });
                    }else{
                        layer.msg(res.body.msg,{time: 1000},function(){
                            window.location.href='/home/login/sign';
                        });
                    }
                },function(res){
                    layer.closeAll();
                    console.log(res);
                }).catch(function(res){
                    layer.closeAll();
                    console.log(res);
                });
            }
        }
    });

  重点在setTimeout

var vm = new Vue({
        el:'#app',
        data:{
            cash_num:0.00,
            sxf:0.00,
            dzje:0.00,
            maxcash:({$usbcash} ? {$usbcash} : 0.00),
            rate: ({$rate} ? {$rate} : 0.00),
            distill_cash_pro : ({$distill_cash_pro} ? {$distill_cash_pro} : 0.00),
            downSeconds:0,
            timer:null,
            getyzm:'获取验证码'
        },
        filters:{
            txmoney:function(value){
            }
        },
        mounted:function(){
            this.$nextTick(function(){

            })
        },
        methods:{
            txmoney:function(){
                if(this.cash_num < 0){
                    this.cash_num = '0.00';
                }else if(this.cash_num > this.maxcash){
                    this.cash_num = this.maxcash;
                }
                var sxf_usb = (this.cash_num * this.distill_cash_pro).toFixed(2) ;
                var sxf_rmb = (this.cash_num * this.distill_cash_pro * this.rate).toFixed(2) ;
                var dz_usb = (this.cash_num - sxf_usb).toFixed(2) ;
                var dz_rmb = (dz_usb * this.rate).toFixed(2);
                this.sxf = "$"+sxf_usb+"(¥"+sxf_rmb+")";
                this.dzje = "$"+dz_usb+"(¥"+dz_rmb+")";
            },
            downSecondsTimer:function(){
                console.log('进来了倒计时');
                this.timer && clearTimeout(this.timer);
                if(0 > this.downSeconds){
                    //$('#getyzm').html('获取验证码');
                    this.getyzm = '获取验证码';
                    return;
                }
                this.getyzm = '还有'+this.downSeconds+'秒';
                this.downSeconds --;
                console.log(this.downSeconds);
                this.timer = setTimeout(() => {
                    this.downSecondsTimer();
                },1000);
            },
            getsend:function(type){
                if(1 < this.downSeconds){
                    return false;
                }
                var _this = this;
                this.$http.post("{:url('Send/getsend')}",{type:type}).then(function(res){
                    if(res.body.state){
                        layer.msg(res.body.msg,{time: 2000},function(){
                            _this.downSeconds = 120;
                            _this.downSecondsTimer();
                        });
                    }else{
                        layer.msg(res.body.msg,{time: 1000});
                    }
                })
            }

        }
    });

  

  

posted @ 2018-01-01 22:47  FinnYY  阅读(199)  评论(0编辑  收藏  举报