首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置axios请求后的meta og:image (VueJs)?

如何设置axios请求后的meta og:image (VueJs)?
EN

Stack Overflow用户
提问于 2018-04-24 15:18:26
回答 1查看 867关注 0票数 1

我有一个vue组件,下载后立即发送axios请求。我还使用了vue-social- image,我需要og:image meta,但是在axios响应之后,我的图像返回了。

代码语言:javascript
复制
<template>
    <div class="container">
        <div v-if="collageSrc" class="col-md-12 collage">
            <img class="img-responsive" :src="this.collageSrc"/>


            <social-sharing>
                <div>
                    <network network="facebook">
                        <i name="fa fa-facebook"></i> Facebook
                    </network>
                    <network network="twitter">
                        <i class="fa fa-twitter"></i> Twitter
                    </network>
                </div>
            </social-sharing>

        </div>
        <div class="col-md-12 collage" v-else>
            <h1>Your image is preparing...</h1>
        </div>
    </div>
</template>


<script>

    export default {
        name: 'collage',
        props:['id'],
        data: function(){
            return {
                collageWaiter: this.getCollageSrc(),
                collageSrc: '',
                url : '',
            }
        },
        metaInfo: {
            title : 'Compliment Genarator Collage',
            meta: [
                {charset : 'utf-8'},
                {
                    'vmid' : 'og:image',
                    'property' : 'og:image',
                    //'content' : this.collageSrc
                }
            ]
        },
        methods:{
            getCollageSrc(){

                const self = this;

                axios.get('/api/generate?id='+this.id)
                    .then(function(result){
                        self.collageSrc = result.data;
                        self.url = "http://compgen.ru/collage/" + self.id;
                    });
            }
        }
    }
</script>

正如您所看到的,属性'collageSrc‘在axios请求之后变得可用。我如何动态地将这个道具包含到meta :image?

EN

回答 1

Stack Overflow用户

发布于 2019-12-21 20:56:50

metaInfo定义为函数,而不是对象:

代码语言:javascript
复制
metaInfo() {
  return {
    meta: [
      { vmid: 'og:image', property: 'og:image', content: this.collageSrc }
    ]
  }
}

https://vue-meta.nuxtjs.org/faq/component-props.html

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

https://stackoverflow.com/questions/49995576

复制
相关文章

相似问题

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