首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在vuejs中从javascript中导出数据?

如何在vuejs中从javascript中导出数据?
EN

Stack Overflow用户
提问于 2018-01-12 23:42:33
回答 1查看 272关注 0票数 1

我有一个vuejs表单和一个纯基于JS的地图小部件。我需要将坐标从map (vanilla js)提取到表单输入(vuejs)。我该怎么做呢?查看:

代码语言:javascript
复制
<el-form :model="storeForm" label-width="200px" ref="storeForm" status-icon size="small">
    <el-form-item label="Address" prop="Address">
        <el-input v-model="storeForm.Address" type="textarea"></el-input>
    </el-form-item>
    <el-form-item>
        <div id="map" style="width: 600px; height: 400px"></div>
    </el-form-item>
    <el-form-item>
        <el-button type="primary" @click="save('storeForm')">Save</el-button>
        <el-button @click="cancel()">Cancel</el-button>
    </el-form-item>
</el-form>

和一个vuejs代码:

代码语言:javascript
复制
export default {
    data() {
        return {
            isNew: true,
            storeForm: {
                Address: ''
            }
        }
    },
    created() {
        ymaps.ready(function () {
            var map = new ymaps.Map("map", {
                center: [43.241203, 76.957206],
                zoom: 13
            });

            map.events.add('click', (e) => {
                var coords = e.get('coords');

                //obviously that doesn't work
                this.storeForm.Address = e.get('coords');
            });
        });
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-13 00:59:45

这条线

ymaps.ready(function () {

创建一个新的作用域,因此this不再是你的Vue应用。

替换为

ymaps.ready(() => {

或者在该函数的末尾添加.bind(this)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48229501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档