微信扫一扫打赏支持

legend2---开发日志5(如何解决插件的延迟问题,比如vue)

legend2---开发日志5(如何解决插件的延迟问题,比如vue)

一、总结

一句话总结:元素可以先设置为隐藏,这样就不会让用户看到延迟的问题,然后等加载完再显示,

元素先设置为隐藏 加载完再显示

 

 

1、thinkphp解决各种方式(post传值,链接传值,get传值)传值统一的简单方式?

读取主要 特判补充

读取最主要的哪一种,然后进行特判补充,从而方便下面的统一编码

1 $dataIn=input('get.');
2 
3 //步骤一:因为也用a标签传值过来,所以dataIn可能取不到这部分值
4 if(input('xiulian_type')!=null&&!isset($dataIn['xiulian_type'])) $dataIn['xiulian_type']=input('xiulian_type');
5 if(input('blog_recommend')!=null&&!isset($dataIn['blog_recommend'])) $dataIn['blog_recommend']=input('blog_recommend');
6 if(input('finished_question')!=null&&!isset($dataIn['finished_question'])) $dataIn['finished_question']=input('finished_question');

 

 

 

2、php变量转js变量时候的注意事项是什么?

字符串变量加引号 打印变量

如果是字符串变量必须加引号表示是字符串,而且最好打印变量,防止错误

question_space_type="{$question_list['info']['question_space_type']}";

 

 

3、php传值给js变量比较好的策略是什么?

用json 传过去的数据做全局变量

用json,整数组传,而且这些变量有时候传成全局变量比较方便,分开写的好处是可加注释,如下

 1         //===========题目列表信息全局变量
 2         //做题目对应的url
 3         url="{:url('index/blog.do_question/index')}";
 4         //显示的题目的编号
 5         showQuestionNum={$question_list['info']['now_question_num']};
 6         //题目总数
 7         totalQuestionNum={$question_list['info']['question_num']};
 8         //博客题目类型-question_space_type(推荐,全库,一日,多日,收藏)
 9         question_space_type="{$question_list['info']['question_space_type']}";
10         //修炼类别-xiulian_type(灵气,心境,功法,炼丹,炼器,炼符,阵法,傀儡,种植,育兽,占卜)
11         xiulian_type={$question_list['info']['xiulian_type']};
12         //博客题目顺序方式-question_order_type(推荐,顺序,随机,作对最少)也是博客题目类型对应的值,因为键值对可以一次传两个值
13         question_order_type={$question_list['info']['question_order_type']};
14         //博客对应的日期-question_date
15         question_date="{$question_list['info']['question_date']}";
16         //英雄的id-hero_id-当为英雄修炼而不是宗门修炼的时候,为0表示是宗门修炼
17         hero_id="{$question_list['info']['hero_id']}";

 

 

4、页面端的函数是否有存在的意义?

没有 其实完全可以被替代 处理好数据后再传页面

页面上的php函数肯定是可以用模型中的php函数代替,也就是处理好了数据再传到页面,让页面无需做php的处理

 

5、写注释的好的方式?

[变量]-变量或者核心部分用显眼的中括号括起来 分步骤写-用显眼的中文

变量用中括号括起来,步骤用汉字步骤表示

1 //步骤五:根据【修炼类型的经验值数值】和【当前等级经验值上限】获取【经验值的百分比】

 

 

6、网页版应用如何减少服务器负载?

计算任务扔给客户端 核心计算仍然要在服务器上

计算任务可以都扔给客户端,服务器没必要做复杂的计算,可以只负责传入传出数据就好

 

7、html中用内联的display: none;会出现标签延迟加载的情况么,用js控制的显示隐藏会出现延迟么

内联的不会 js控制的会

用js出现延迟加载的情况是因为要加载完html才运行js,所以会有延迟,而内联标签和html的加载应该是同时,所以不会,

 

8、thinkphp框架配合vue无延迟加载的策略是什么?

thinkphp改变display属性 vue通过v-show改变display属性 display属性做中介 加载完再显示

thinkphp改变display属性,vue通过v-show来控制的display是否为none,而且可以选择加载完再显示,这样效果好很多

1 <div style="color: red;{if condition='$vo.bq_collected<=0'}display: none;{/if}">
2     <i class="fa fa-fw fa-heart"></i>
3 </div>
4 <div style="{if condition='$vo.bq_collected>0'}display: none;{/if}">
5     <i class="fa fa-fw fa-heart-o"></i>
6 </div>

 

 

9、如何解决vue的延迟问题,不让用户看到这种延迟(比如底部经验条)?

元素先设置为隐藏 加载完再显示

元素可以先设置为隐藏,这样就不会让用户看到延迟的问题,然后等加载完再显示,

 

10、如何让标签加载完再显示(比如当加载文件多时去掉vue的延迟显示效果)?

先display:none  放在$()中 .show设置为显示

先设置display:none; 再在加载完成函数中$()添加让标签显示的class,比如bootstrap的.show

<!--底部经验固定条-->
<div style="position: fixed;bottom: 0;width: 100%;font-size: 10px;display: none;" id="bottom_exp_bar">
    $(function () {
        $('#bottom_exp_bar').addClass('show');
    });

 

 

 

 

二、内容在总结中

1、相关知识

 

 

2、代码

 

 

 
posted @ 2019-04-11 04:43  范仁义  阅读(677)  评论(0编辑  收藏  举报