[鼠年全马] W19 - Vue心得笔记 - MVVM篇

上一篇最后有提到怎么建立一个Vue应用, 朋友看完之后有问我两个问题

如果要建立多个Vue应用怎么做?

当下我听到是有点愣住..., 因为会建立一个了, 之后就会建立两个三个...多个Vue应用可以举一反三http://img2.58codes.com/2024/emoticon16.gif
所以不太懂他不懂得点...QQ
不过我这边附上回覆他的答案
(如果有更适合的解请大大在下面留言)
建立一个应用是这样:

var app = new Vue({  el: '#app'})

建立第二个应用可以是这样:

var app2 = new Vue({  el: '#app2'})

...
...
...
建立第N个应用可以是这样:

var appN = new Vue({  el: '#appN'})

看需求来判断需不需要建多个应用来用
当下他听我讲完也是有点"哦~原来如此~"的感觉http://img2.58codes.com/2024/emoticon01.gif

el一定要抓id吗?

这问题就有比较建设性一点(xD)
他的抓法其实就跟原生js的 document.querySelector 一样, 是用CSS选择器来抓元件的
所以也可以设定抓class或是节点, 但通常id是唯一值, 所以会设定抓id
如果!!!
抓到多个元件时, 就只有第一个会有效, 例如抓class有app的元件:

<!--第一个元件--><div class="app">    {{ message }}</div><!--第二个元件--><div class="app">    {{ message }}</div>
var app = new Vue({    el: '.app',    data: {        message: 'Hello 我是来乱的!'    }})

结果只会看到第一个被渲染出来, 第二个则是维持原状没有被Vue出来
http://img2.58codes.com/2024/201186860quCgn6VFr.jpg

两个问题大概是这样~仅供参考~http://img2.58codes.com/2024/emoticon12.gif
接着开始今天正题~


#MVVM是什么?

MVVM(Model–view–viewmodel)是一种软体架构模式。 --维基百科-MVVM

Model - 就是Vue应用的资料状态
View - 就是视图层, 也就是浏览器所呈现的画面

Vue 透过中间的 ViewModel 达到 资料(Model) 与 视图(View) 的双向沟通


#双向沟通实例

首先我们把刚才 我来乱的 的範例拿来用
并在 div 内新增一个 input

<div id="app">    <input type="text" />    {{ message }}</div>
var app = new Vue({    el: '.app',    data: {        message: 'Hello 我是来乱的!'    }})

接着在 input 加上绑定资料的指令 v-model, 让它绑定 message

<input type="text" v-model="message" />

我们要做的範例目标是透过 input 输入一些文字, 改变 Vue应用的资料, 最后回来渲染视图
从资料跑的流程上看会是:
输入文字(View)
-> 文字透过v-model绑定资料(ViewModel)
-> 改变资料(Model)
-> 资料透过双花括号呈现(ViewModel)
-> 渲染视图(View)

完成后可以看到透过改变input内的值, 进而改变message, 达成双向沟通的效果
gif图片被移除啰QQ


今天透过介绍双向绑定提到了一个 Vue 的指令 v-model
下次会提到其它的指令, 每一个都会完整介绍http://img2.58codes.com/2024/emoticon29.gif


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章