【发布时间】:2020-08-04 22:32:24
【问题描述】:
我正在使用带有nuxt的vue构建一个网站,通过rest api从wordress站点加载数据。
我想让客户端能够使用自定义字段修改页面模板,因此我需要使用根据放置在 wordpress 页面编辑器中的自定义字段生成的 vue 组件动态创建我的 vue 模板。
这是简化的,但例如,如果客户构建一个包含三个自定义字段的页面:
[custom-field type='hero']
[custom-field type='slider']
[custom-field type='testimonial']
我可以通过json对象中的rest api获取字段信息,如下所示:
page: {
acf: [
{field 1: {
{type: 'hero'},
{content: '...'}
},
{field 2: {
{type:'slider'},
{content: '...'}
},
{field 3: {
{type:'testimonial'},
{content: '...'}
}
}
}
我将把它带入我的 vue 应用程序,然后我将模板从映射到自定义字段类型的可能组件列表中动态生成。以上将输出:
<template>
<Hero ... />
<Slider ... />
<Testimonial ... />
</template>
这是否可以使用 v-is 指令 (https://vuejs.org/v2/guide/components-dynamic-async.html) 来完成,例如:
<component v-for="field in custom-fields" v-is="field.type" :data="field.data"/>?
这可能吗?任何帮助将不胜感激。
【问题讨论】:
标签: javascript wordpress vue.js advanced-custom-fields wordpress-rest-api