vuejs—数据双向绑定

上一篇文章,介绍了如何通过vue.js实现页面输出hello vue.js,这篇文章将介绍如何通过其实现数据双向绑定

我们有这样一个需求,文本框中输入什么内容,文本框中的内容就显示在页面上。
你会说,这个很简单,我只要监听文本框内容改变事件就可以实现了。
但是这里的需求只是修改一处,如果文本框内容改变后需要同时修改20个地方的显示呢?
那得执行大量的DOM操作。

vue.js是MVVM结构的,同类的还有AngularJs;至于MVC、MVP、MVVM的比较网上已经有很多了,这样不再重复,我介绍肯定也没网上大神们介绍的详细,大家可以自行百度,谷歌。

什么?在墙内谷歌不了,那我推荐你一个软件,不需要任何配置,只需要双击运行,支持MAC、Windows、Unbuntu、Android,真的很好用,狠戳这里

废话不多说,来看代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>demo01</title>
    <link rel="stylesheet" href="../css/base/bootstrap.min.css">
    <link rel="stylesheet" href="../css/base/common.css">
</head>
<body>

    <div class="container mt15">
      <fieldset class="form-group" id="unameGroup">
        <label for="userName">名字:</label> <span id="title">{{ uname }}</h1>
        <input type="text" class="form-control" id="userName" placeholder="请输入名字" v-model="uname">
      </fieldset>
    </div>

    <script src="../js/base/vue.js"></script>   
    <script src="../js/base/jquery.min.js"></script>
    <script src="../js/base/bootstrap.min.js"></script>
    <script>
        new Vue({
          el: '#unameGroup',
          data: {
            uname: ''
          }
        });
    </script>
</body>
</html>

页面初始化效果:

页面初始效果.png

修改文本框内容:

改变文本框内容1.png

改变文本框内容2.png
注意点:
  • 这里的span标签以及文本框必须包含在id为unameGroup的容器中,俗话说就是得在这个“作用域内”,不然没有效果。
  • input上不是value={{uname}},而是v-model="uname"

下一篇文章将学习如何渲染列表。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,686评论 25 708
  • 转载 :OpenDiggawesome-github-vue 是由OpenDigg整理并维护的Vue相关开源项目库...
    果汁密码阅读 23,220评论 8 124
  • 每每遇到合适的人,总会将自己的梦想激情满满地向他们描绘一遍,好像在这过程中那个美好的梦似乎已经实现,自己似乎变得与...
    飞翔的饼阅读 326评论 0 1
  • 其实一开始我是很讨厌写公文的,总觉得公文皱皱巴巴,面目可憎。而且写公文多痛苦啊,像榨取自己的脑汁一样。但是写了这么...
    许江浩阅读 449评论 0 1
  • 效果展示:http://m.penkuoer.com/在rails5之后可以直接使用前端js框架进行spa应用的处...
    李傲娢阅读 553评论 0 2