javascript - vue 怎么绑定一个数组的内容,并且是数组的未来元素也产生绑定
迷茫
迷茫 2017-04-11 13:15:58
[JavaScript讨论组]

数组双向绑定失效,的未来元素绑定失效,以及$index未定义怎么解决

  • {{ child }}

在child输入框中输入字符能改变第一个元素 的内容 ,但是后来增加的未来元素的内容不会改变

 $(function () {


       var person = {
           name: '',
           children: [{name:""}]

       }

       var vm = new Vue({
           el: "#example",
           data: person,
           methods: {
               addChild: function (index) {
                   this.children.splice(index+1, 0, '')
               },
               removeChild: function (index) {
                   console.log(index)
                   this.children.splice(index , 1)
               },
               getData: function () {
                   console.log(this.children);
                   return this
               }
           }

       })
       $('.btn').click(function () {
           person.name = "asdf";
       })
   })
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
大家讲道理

外国友人给出了答案 https://jsfiddle.net/psteele/...

怪我咯

    <p id="example">
        <p><input type="text" v-model="name">
            <button @click="addChild()">新增</button>
        </p>
        <ul>
            <li v-for="child,index in children" v-show="children.length!=0">
                <span>{{ child.name }}</span>
                <button v-on:click="removeChild(index)">X</button>

            </li>
        </ul>
        <button @click="getData">输出</button>
    </p>
    <script type="text/javascript">
        var person = {
            name: '',
            children: []
        }
        var vm = new Vue({
            el: "#example",
            data: person,
            methods: {
                addChild: function() {
                    this.children.push({
                        name: this.name
                    });
                    this.name = ""
                },
                removeChild: function(index) {
                    console.log(index);
                    this.children.splice(index, 1)
                },
                getData: function() {
                    console.log(this.children);
                    return this
                }
            }
        });
    </script>

你的原意应该是这个吧, 用vue.js2.0应该这样写

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号