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

时间:2024-09-09 08:36:08

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