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表示不同成功或者失败的原因