Vue:渐进式Javascript框架
声明式渲染->组件系统->客户端路由->集中式状态管理->项目构建
Vue特点:
<div id="msg">
</div>
<script type="text/javascript">
var msg = 'Hello World';
var div = document.getElementById('msg');
div.innerHTML = msg;
</script>
<div id='msg'>
</div>
<script type="text/javascript">
var msg = 'Hello World';
$('msg').html(msg);
</script>
<div id='app'>
<div>{{msg}}</div>
</div>
<script type="text/javascript" src="js/vue.js"></script>
<script type="text/javascript">
new Vue({
el:'#app',
data:{
msg:'HelloWorld'
}
})
</script>
Vue代码运行原理
编译过程:Vue代码-->Vue框架-->原生Js代码
前端渲染:把数据填充到HTML标签中。
数据(后台)+ 模板(HTML标签)= 前端渲染 => 静态HTML内容
原生Js拼接字符串
基本上就是将数据以字符串的方式拼接到HTML标签中,前端代码风格大体如下:
var d = data.weather; var info = document.getElementById (‘info‘); info.innerHTML = ‘‘; for(var i-0;i<d.length;i++) { var date = d[i]. date; var day = d[i].info.day; var night = d[i].info.night; var tag = ‘‘; tag += ‘<span>日期: ‘+date+‘</span><ul>‘; tag += ‘<1i>白天天气: ‘+day [1]+‘</li>‘; tag += ‘<1i>白天温度: ‘+day [2]+‘</li>‘; tag += ‘<1i>白天风向: ‘+day [3]+‘</li>‘; tag += ‘<1i>白天风速: ‘+day [4]+‘</li>‘; tag +=‘</ul>‘; var div = document.createElement (‘div‘); div. innerHTML = tag; info.appendchild (div); }
缺点:不同开发人员的代码风格差别很大,随着业务的复杂,后期的维护变得逐斩困难起来。
使用前端模板引擎
基于模板引擎art-template的一段代码,与拼接字符串相比,代码明显规范了很多,它拥有自己的一套模板语法规则。
<script id="abc" type="text/html"> {{if isAdmin}} <hl>{(title}}</hi> <u1> {{each list as value i}} <1i>索引{{i +1}} : {{value}}</1i> {{/each}} </u1> {{/if}} </script>>
优点:大家都遵循同样的规则写低码,代码可读性明显提高了,方便后期的维护。
缺点:没有专门提供事件机制,还是只有使用原生Js来处理事件。
原文:https://www.cnblogs.com/fpgz99810/p/12460845.html