Vue是一个js的MVVM的`渐进式 视图 框架`,即是一个框架,基于js。
那么什么是MVVM呢? 首先介绍MVC,即model,controller,view
M: model,数据层
C: controller,核心业务代码
V: view,视图(html,css)
MVVM就是M(数据)和V(视图)的结合,具体到Vue来说,MV VM即vmodel Vue的一个实例(Vue构造函数的new
出来的一个对象),再具体来说,就是当数据改变时,视图实现自动刷新(即通过vmodel vue的实例控制刷新
)
`Vue一切是数据为核心,使用数据来驱动视图刷新,我们不建议去操作dom`
下面是Vue的一个小例子:
<div id="app">
{{ msg }}
<!--
{{}}
vue中的模板
用于渲染 数据
-->
</div>
script src = "./vue.js"
script
let vm = new Vue({
el: "#app", // 将vue挂在到el对应的元素上,也就是vue控制范围
data: {
msg: '你好vue' // mvvm中 m数据放置的地方
}
})
使用Vue下的一个vm实例中的data属性中的msg去控制视图中的div里的模板{{ msg }}里的值,值得注意的是Vue实例必须挂载到一个dom元素上,el属性完成这一任务(内部挂载),这里挂载的是div(id为app),所有的操作都只能在这个div下进行,当然Vue还给我们提供了一种另一种挂载方法,即外部挂载:
let vm = new Vue({
data:{
msg:"hello vue"
}
})
vm.$mount(document.querySelector("#app")) //外部挂载vue
使用$mount这一实例上的属性完成,括号里放需要挂载的dom元素。