zoukankan      html  css  js  c++  java
  • legend2---开发日志9(vue常见无法自动更新改变的原因是什么)

    legend2---开发日志9(vue常见无法自动更新改变的原因是什么)

    一、总结

    一句话总结:没找到变量,比如在computed属性中vue的变量没加this

    没找到变量

    1、函数中var bottom_exp_bar_vm = new Vue()这句代码中js中找不到bottom_exp_bar_vm 的原因是什么?

    函数中带var的变量是局部变量
    局部变量函数外找不到

    函数中带var的变量是局部变量,函数外肯定找不到

    2、觉得工作量很多怎么解决(比如妖族的图片)?

    编号

    可以编号即可,这样能够很清晰的知道流程,还有完成进度和成就感

    3、vue如何自动读秒(比如免费招募时间的自动更新)?

    computed属性配合setInterval()
    让表示js当前时间戳的变量自动变化

    computed属性配合setInterval() 让表示js当前时间戳的变量自动变化

    <script>
        $(function () {
            //控制【弹出奖励的】的vue代码
            main_content = new Vue({
                el: '#main_content',
                data: {
                    heroes: window.heroes,
                    school_time: window.school_time,
                    template_hero_collections: window.template_hero_collections,
                    js_ts:new Date().getTime(),
                },
                computed: {
                    // 投奔英雄的【免费刷新】时间计算
                    st_recruit_touben_time: function () {
                        // `this` 指向 vm 实例
                        var time1=0;
                        var php_ts=school_time.st_recruit_touben;
                        if(((php_ts+1)*1000-this.js_ts)>=0) time1=(php_ts+1)*1000-this.js_ts;
                        return get_hms(time1);
                    },
                    // 低级招募英雄的【免费一次】时间计算
                    st_recruit_low_time: function () {
                        // `this` 指向 vm 实例
                        var time1=0;
                        var php_ts=school_time.st_recruit_low;
                        if(((php_ts+1)*1000-this.js_ts)>=0) time1=(php_ts+1)*1000-this.js_ts;
                        return get_hms(time1);
                    },
                    // 高级招募英雄的【免费一次】时间计算
                    st_recruit_high_time: function () {
                        // `this` 指向 vm 实例
                        var time1=0;
                        var php_ts=school_time.st_recruit_high;
                        if(((php_ts+1)*1000-this.js_ts)>=0) time1=(php_ts+1)*1000-this.js_ts;
                        return get_hms(time1);
                    },
                }
            });
            //刷新js_ts
            setInterval(function () {
                main_content.js_ts=new Date().getTime();
            },1000);
            console.log(main_content.school_time);
            console.log(parseInt((new Date()).getTime()/1000));
            $('#main_content').show();
    
        });
    </script>

    4、vue对于v-if中的内容会自动刷新么,比如招募时免费按钮的显示?

    对于v-if中的会自动刷新

    对于v-if中的会自动刷新,computed属性里面想自动刷新的话加一个setInterval即可,保证computed里面的vue变量加this

    <a v-if="school_time.st_recruit_high>parseInt((new Date()).getTime()/1000+1)" onclick="recruit_hero(2,1)" class="btn btn-primary btn-xs recruit_hero">招募一次</a>

    5、宗门时间表、宗门灵石表等表怎么处理节约数据库操作时间(从缓存方面思考)?

    在base控制器中把对应表的id放进session

    其实可以把宗门对应的时间表,灵石表的id都读到基础控制器base里面,也就是把对应的id放进session里面,这样每次找的时候可以直接从找id来从查找数据,而不用其它比如宗门id这样的条件

    6、vue的computed的getter和setter方法的作用是什么?

    getter是别人发生改变自己跟着变
    setter是自己发生改变也让别人跟着变

    7、vue计算属性变量书写需要注意什么?

    computed中的vue中的变量一定要带this

    computed中的vue中的变量一定要带this,这时候this表示vue,不然可能找不到

    8、vue计算属性computed触发条件的依赖变量最好怎么写(data的属性改变,但是是根据data的属性做的computed,想要保住computed更新,最好怎么做)?

    计算属性中依赖的vue变量最好是后面改变要更新的

    计算属性中依赖的vue变量最好是后面改变要更新的,比如计算属性中依赖的是data,那么更新就更新data,同理如果是data的某个属性

    9、函数的传入参数名怎么写才好?

    写的见名知意

    写的见名知意,这样就不用看参数注释了

    10、服务器给ajax返回是否成功用什么好(用数字好还是用true,false好)?

    用数字好  不同的success_num表示不同成功或者失败的原因

    用success_num,不同的success_num表示不同成功或者失败的原因

    二、内容在总结中

    1、相关知识

     

    2、代码

     
  • 相关阅读:
    poj 2312 Battle City
    poj 2002 Squares
    poj 3641 Pseudoprime numbers
    poj 3580 SuperMemo
    poj 3281 Dining
    poj 3259 Wormholes
    poj 3080 Blue Jeans
    poj 3070 Fibonacci
    poj 2887 Big String
    poj 2631 Roads in the North
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/10715883.html
Copyright © 2011-2022 走看看