当前位置: 首页 > news >正文

公司设计网站需要注意哪些网站优化分析

公司设计网站需要注意哪些,网站优化分析,深圳市龙岗区建设工程交易中心,做时时彩网站需要加盟严格来讲不能说是MVC,应为模版里不能写逻辑语句。 灵感来源于我的上篇文字:《封装JSON数据转自定义HTML方法parseHTML》; 这里再封装一个简单方法,在保持原来的方便改变不大的前提下,简单地根据数据长度,循…

严格来讲不能说是MVC,应为模版里不能写逻辑语句。

灵感来源于我的上篇文字:《封装JSON数据转自定义HTML方法parseHTML》;

这里再封装一个简单方法,在保持原来的方便改变不大的前提下,简单地根据数据长度,循环地翻译模版,再插入指定节点里;

只是觉得我的开发过程中很多时候要拼接字符串,拼接起来的字符串又难维护;

这个方法主要是为了提高以后编码的效率,开发过程中减少手工拼接字符串的重复劳动。

不是为了MVC而MVC;

来看看QQ网购首页的部分源码:

 1 <script type="text/html" id="floorMidCommTpl">
 2 <%for(var i=0,j=arr.length;i<j;i++){%>
 3 <li>
 4     <a href="<%=arr[i].clickUrl%>" title="<%=arr[i].itemFullName%>" class="img_wrap" target="_blank"><img init_src="<%=arr[i].uploadPicUrl1%>" width="120" height="120" alt="<%=arr[i].itemFullName%>"/></a>
 5     <div class="img_detail">
 6         <p class="price_now">&yen;<%=(arr[i].activePrice/100).toFixed(2)%></p>
 7         <p class="name"><a href="<%=arr[i].clickUrl%>" target="_blank"><%=arr[i].itemFullName%></a></p>
 8     </div>
 9 </li>
10 <%}%>
11 </script>

提供了丰富的语法支持,惊叹不已!!! 

官方说其模版引擎压缩版才2kb,《高性能JavaScript模板引擎原理解析》

看了全篇文章,只能感叹作者的厉害,超出我的能力范围。

以后会继续反复看,不知道什么时候才能深入得理解!

看看我的方法吧: 

1.模版例子,没有语法支持,也不打算以后支持。继续往下看,会对这个问题提供解决方法。

1 <ul id="DemoTarget"></ul>
2 <script type="text/html" id="DemoTpl">
3     <li>姓名:{name}</li>
4     <li>性别:{sex}</li>
5 </script>
<ul id="DemoTarget"></ul>

这里需要加个结果插入节点,之前考虑直接用script.appendBefore()方式插入,

但是考虑在同一个位置可以反复插入数据,同时清除之前的结构,就多加一个条件。

2.数据例子:

var DemoJSON = [{name: '蜡笔小新',sex: 0
}, {name: '小丸子',sex: 1
}, {name: '凹凸曼',sex: -1
}];

 3.调用方式

minTemplate.pro({temp: 'DemoTpl',target: 'DemoTarget',json: DemoJSON,filter: function (key, val) {//如果是{sex}对应的数值返回相应的文字if (key == 'sex') {return ['保密', '男', '女'][val + 1];}return val;}
});

filter回调函数,使得数据显示更加灵活, 一定意义上弥补了模版不支持逻辑的语句的缺点。

4.就这么简单,返回的结果是:

<ul id="DemoTarget"><li>姓名:蜡笔小新</li><li>性别:男</li><li>姓名:小丸子</li><li>性别:女</li><li>姓名:凹凸曼</li><li>性别:保密</li>
</ul>

5.minTempate源码:

var minTemplate = {temp:{},target: {},flag: false,/*** JSON数据转自定义HTML.* @param  {String} template 模版参数模版的变量名要与JSON的key值对应,*                           且模版的变量名要用"{}"包住。* @param  {Object} json     JSON数据,只接收类似[{},{}...]格式的JOSN。* @param  {String} result   开头默认的字符串,也被内部递归利用。* @param  {Function} fn     回调函数前面两个参数分别对应json的,key 和 value* @return {String}          返回转义的HTML。*/base: function (template, json, fn, result) {result = result || '';json = !this.flag ? json.slice(0) : json;//第一次递归前,克隆一个jsonthis.flag = true;if (Object.prototype.toString.call(json) === '[object Array]') {var first = json.shift();result += template.replace(/\{([^{}]+)\}/g, function (match, key) {return fn === undefined ? first[key] : fn(key, first[key]);});if(json.length !== 0){return this.base(template, json, fn, result); //递归
                }this.flag = false;return result;} else {alert('只接收数组形式的JSON数据!');}},/*** JSON数据转自定义HTML.* @param  {Object} config 配置具体参数如下:* @config {String} temp   模版节点ID * @config {String} traget 插入结果的节点ID* @config {Object} json   需要转换的JSON数据,只接收类似[{},{}...]格式的JOSN。* @config {Function} filter 结果筛选,函数前面两个参数分别对应json的,key 和 value*/pro: function (config) {this.temp[config.temp] = this.temp[config.temp] || document.getElementById(config.temp)this.target[config.target] = this.target[config.target] || document.getElementById(config.target);this.target[config.target].innerHTML = this.base(this.temp[config.temp].innerHTML, config.json, config.filter);}
};

 

转载于:https://www.cnblogs.com/fengyuqing/p/javascript_template.html

http://www.lbrq.cn/news/2373427.html

相关文章:

  • 苏州建设网站制作目前推广软件
  • 27岁女生学前端开发晚吗长沙优化官网服务
  • 上海手机网站建设网络营销成功案例3篇
  • 什么网站可以接活在家做高级seo培训
  • 做一个购物网站价格站长查询站长工具
  • 大屏可视化ui设计重庆seo顾问服务
  • 系统开发软件有哪些重庆seo务
  • 电商网站前后台模板网络推广seo公司
  • 创联互动建设网站网站都有哪些
  • 拍卖网站模版热搜词工具
  • 网站建设昆明seo作弊
  • 昆明网络公司哪家最大厦门百度关键词seo收费
  • 百度短链接在线生成南宁seo优化公司排名
  • 深圳做男装什么网站容易找工谷歌seo网站推广
  • 长春市城建网站百度一下官方网址
  • 时网站建设公司管理怎么做游戏推广员
  • 东莞高端网站设计推广下载app赚钱
  • php网站好吗东莞整站优化推广公司找火速
  • 潍坊设计网站济南网站seo优化
  • 网站镜像 动态百度热度榜搜索趋势
  • 公务员可以自己做网站吗品牌运营策略
  • 盐城网站制作哪家好游戏代理是怎么赚钱的如何代理游戏
  • 网站开发指南产品线上营销推广方案
  • 免费做app的网站有吗手机端关键词排名免费软件
  • 专业外贸网站建设外贸网站推广软件
  • 网站死链怎么删除百度人工客服电话是多少
  • 长春亚泰吧seo是什么seo怎么做
  • 做黄色网站的成本推广网站源码
  • 如何制作学校网站百度一下官方网站
  • 余姚做百度网站广州百度网站快速排名
  • rLLM:用于LLM Agent RL后训练的创新框架
  • Transformer是什么 - 李沐论文《Attention Is All You Need》精读
  • 简单2步配置CadenceSkill开发编辑器,支持关键字高亮
  • React源码4 三大核心模块之一:Schedule,scheduleUpdateOnFiber函数
  • 时序预测 | Pytorch实现CNN-LSTM-KAN电力负荷时间序列预测模型
  • 使用 pytest 测试框架构建自动化测试套件之一