uni-app与HTML的区别 【转】
<div><div>
<h2>组件/标签的变化</h2>
<p><strong>以前是html标签,现在是小程序标签</strong></p>
<ul>
<li>div 改成 view</li>
<li>span、font 改成 text</li>
<li>a 改成 navigator</li>
<li>img 改成 image</li>
<li>input 还在,但type属性改成了confirmtype</li>
<li>form、button、checkbox、radio、label、textarea、canvas、video 这些还在。</li>
<li>select 改成 picker</li>
<li>iframe 改成 web-view</li>
<li>ul、li没有了,都用view替代</li>
<li>audio 不再推荐使用,改成api方式,背景音频api文档<br>
其实老的HTML标签也可以在uni-app里使用,uni-app编译器会在编译时把老标签转为新标签。但不推荐这种用法,调试H5端时容易混乱,基于元素的选择器也会出问题。</li>
</ul>
<p><strong>除了改动外,新增了一批手机端常用的新组件</strong></p>
<ul>
<li>
<p>scroll-view 可区域滚动视图容器</p>
</li>
<li>
<p>swiper 可滑动区域视图容器</p>
</li>
<li>
<p>icon 图标</p>
</li>
<li>
<p>rich-text 富文本(不可执行js,但可渲染各种文字格式和图片)</p>
</li>
<li>
<p>progress 进度条</p>
</li>
<li>
<p>slider 滑块指示器</p>
</li>
<li>
<p>switch 开关选择器</p>
</li>
<li>
<p>camera 相机</p>
</li>
<li>
<p>live-player 直播</p>
</li>
<li>
<p>map 地图</p>
</li>
<li>
<p>cover-view 可覆盖原生组件的视图容器</p>
<p>cover-view需要多强调几句,uni-app的非h5端的video、map、canvas、textarea是原生组件,层级高于其他组件。如需覆盖原生组件,比如在map上加个遮罩,则需要使用cover-view组件</p>
</li>
</ul>
<p>除了内置组件,还有很多开源的扩展组件,把常用操作都进行封装,DCloud建立了插件市场收录这些扩展组件,详见插件市场</p>
<h2>js的变化</h2>
<h4>运行环境从浏览器变成v8引擎</h4>
<ul>
<li>标准js语法和api都支持,比如if、for、settimeout、indexOf等</li>
<li>但浏览器专用的window、document、navigator、location对象,只有在浏览器中才有,app和小程序都不支持,这意味着依赖document的很多HTML的库,比如jqurey无法使用。但是app和小程序支持web-view组件,里面可以加载标准HTML,这种页面仍然支持浏览器专用对象window、document、navigator、location</li>
</ul>
<h4>以前的dom操作,改成vue的MVVM模式</h4>
<ul>
<li>alert,confirm 改成 uni.showmodel
</li>
<li>ajax 改成 uni.request
</li>
<li>cookie、session 没有了,local.storage 改成 uni.storage
</li>
<li>uni-app的js api还有很多,但基本就是小程序的api,把wx.xxx改为uni.xxx即可</li>
</ul>
<h4>css的变化</h4>
<ul>
<li>选择器有2个变化:*选择器不支持;元素选择器里没有body,改为了page</li>
<li>单位方面,px无法动态适应不同宽度的屏幕,rem只能用于h5、rpx只能用于微信小程序。为此uni-app新增了 upx ,通吃所有端、所有屏幕宽度的动态单位 upx
</li>
<li>uni-app推荐使用flex布局,并默认就是flex布局</li>
</ul>
</div>
<br>作者:cyh_d8ac<br>链接:https://www.jianshu.com/p/2160b8193282<br>来源:简书</div><br><br>
来源:https://www.cnblogs.com/getmn/p/11043855.html
頁:
[1]