经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » Vue.js » 查看文章
Vue中的v-model,v-bind,v-on的区别解析
来源:jb51  时间:2022/12/5 8:48:14  对本文有异议

v-model

v-model是进行动态双向绑定的(只能用在input, textarea, select上),以input为例,进行绑定后,vue对象中data的相应值会与input的输入同步变动。

  1. // HTML
  2. <input type="text" v-model="message">
  3. new Vue({
  4. data {
  5. message: ' ', //最开始message为空
  6. }
  7. })

如果我们在input的输入框输入“打游戏”,则在datamessage属性的值也会变为“打游戏”

  1. <input type="text" v-model="message"> / /在input中输入:打游戏
  2.  
  3. data {
  4. message: '今天好困 ', // 此时message中数据自动更新为"打游戏"
  5. }

v-bind(缩写为 : )

通常来说,当我们需要给一个<a href=""></a>标签赋值时,可以直接给href属性赋上相应的地址即可,但是这样,往往会导致代码不灵活。为了使得标签的一些属性可以动态的改变,我们可以在这些标签加上v-bind属性。
当data中url属性改变后,相应的,<a></a>标签的href值也会改变。

  1. <a v-bind:href="url" rel="external nofollow" >网络测试</a> //v-bind绑定href。
  2. new Vue({
  3. ...
  4. data {
  5. url: "http://www.baidu.com"
  6. }
  7. })

类似的,对于其他标签,我们可以将标签中的属性值与vue对象中data相应的值绑定。如下列代码中的,class属性绑定isPlaying,src属性绑定picUrl

  1. <div class="player_con" :class="{playing:isPlaying}">
  2. <img src="images/player_bar.png" class="play_bar" />
  3. <img :src="picUrl" class="cover autoRotate" />
  4. </div>
  5. new Vue({
  6. ...
  7. data {
  8. isPlaying: true,
  9. picUrl:"www.xxx.com"
  10. }
  11. })

v-on(缩写为@)

v-on属性绑定是HTML事件,例如:

  1. <!-- 完整语法 -->
  2. <a v-on:click="doSomething(tmp)">123</a>
  3.  
  4. <!-- 缩写 -->
  5. <a @click="doSomething(tmp)">123</a>
  6.  
  7. new Vue({
  8. ...
  9. methods:{
  10. doSomething(tmp){
  11. }
  12. }
  13. })

总结

总结来说,v-model用来进行data数据与页面数据的双向绑定。即数据对数据绑定。v-bind是data数据对页面标签中属性的绑定,即属性对数据绑定。v-on,是methods对页面事件的绑定,即事件对接口(methods)的绑定

到此这篇关于v-model,v-bind,v-on的区别的文章就介绍到这了,更多相关v-model,v-bind,v-on内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号