搜索
javascript - JS:以下函数中的this指向相同么?
黄舟
黄舟 2017-04-10 16:30:04
[JavaScript讨论组]

使用vueJS部署一个项目,遇到一个js问题:
以下函数用来添加书籍:

    addBook : function(){
                this.book.id = this.books.length + 1;
                this.books.push(this.book);
                this.book = '';
            }

html部分:
<h1>书目信息</h1>

        <p id="app">
        <!-- 表格显示区域 -->
        <table  class="table">
            <tr>
                <th>序号</th>
                <th>书名</th>
                <th>价格</th>
                <th>删除</th>
            </tr>
            <tr v-for = 'book in books'>
                <td>{{book.id}}</td> 
                <td>{{book.title}}</td>
                <td>{{book.price}}</td>
                <td>
                    <button  class="btn btn-danger" @click = 'deleteBook(book)'>删除</button>
                </td>
            </tr>
            
        </table>
        <!-- 用户点击添加区域 -->
               <legend>添加书籍</legend>
               <p class="form-group">
                   <label>添加书名</label>
                   <input type="text" class="form-control" v-model = 'book.title' >
               </p>
               <p class="form-group">
                   <label>添加价格</label>
                   <input type="text" class="form-control" v-model = 'book.price' >
               </p>
               <button class="btn btn-block btn-success" v-on:click = 'addBook()'>确认添加</button>
        </p>
        
        我的个人理解是:
        this.books 是指#app中的books[]
        this.book 是指当前按钮控制的用户添加区域
        
        以下是截图:
        

谢谢

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
伊谢尔伦

在同一个上下文中,this肯定是同一个,不可能一会指向这,一会指向那。

黄舟

this是这个模块。
v-model = 'book.title'这里是把this.book.title双向绑定在添加书名这个input上了。
v-for = 'book in books'这里是把this.books绑定到tr上。tr里的book是遍历this.books这个数组。

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

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