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、代码

     
  • 相关阅读:
    ATM+购物车项目
    python基础语法13 内置模块 subprocess, 正则表达式re模块, logging日志记录模块, 防止导入模块时自动执行测试功能, 包的理论
    kvm ip查看
    tar 排除某个目录
    MySQL5.7 添加用户、删除用户与授权
    tomcat 自带jdk
    django examples 学习笔记(1)创建一个独立的python环境
    cdh 安装组件 异常总结
    pycharm ubuntu安装
    (cdh)hive 基础知识 名词详解及架构
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/10715883.html
Copyright © 2011-2022 走看看