我是小白,目前学了些jquery。想知道MVVM框架是和jquery的作用一样吗?jquery不是也可以操作DOM吗?
没关系, mvvm 偏向数据,用数据来操作dom ,好处是屏蔽了 dom 的复杂操作,举个栗子
tab 页切换 , jquery 会考虑 鼠标点击 或者 hover 的时候 tab 页签样式改变 。 而 mvvm 会考虑 点击或 hover 时 tab页签 绑定的数据值改变 avalon页面片段:
<ul >
<li ms-click="changeTabIdx(1)" ms-class="tabidx==1?'active':''"></li>
<li ms-click="changeTabIdx(2)" ms-class="tabidx==2?'active':''"></li>
</ul>
<div>
<div ms-if="tabidx==1"></div>
<div ms-if="tabidx==2"></div>
</div>
整个tab 就只围绕一个tabindex 数据 和 changeTabIdx 方法, changeTabIdx 方法内部也没有操作dom
只是改变 tabindex 的值 完成 tab 切换效果。