组件和动态区域
实体服务 是处理 组件 和 动态区域 逻辑的层。使用实体服务 API,可以在创建或更新条目时 创建 和 更新 组件和动态区域。
创建
使用实体服务 API 创建条目时可以创建 组件:
js
strapi.entityService.create('api::article.article', {
data: {
myComponent: {
foo: 'bar',
},
},
})
使用实体服务 API 创建条目时,可以创建 动态区域(即组件列表):
js
strapi.entityService.create('api::article.article', {
data: {
myDynamicZone: [
{
__component: 'compo.type',
foo: 'bar',
},
{
__component: 'compo.type2',
foo: 'bar',
},
],
},
})
Update
使用实体服务 API 更新条目时可以更新 组件。如果指定了组件 id
,则更新该组件,否则删除旧组件并创建新组件:
js
strapi.entityService.update('api::article.article', 1, {
data: {
myComponent: {
id: 1, // 将更新 ID 为 1 的组件(如果未指定,则会删除它并创建一个新的)
foo: 'bar',
},
},
})
使用实体服务 API 更新条目时,可以更新 动态区域(即组件列表)。如果指定了组件 id
,则更新该组件,否则删除旧组件并创建新组件:
js
strapi.entityService.update('api::article.article', 1, {
data: {
myDynamicZone: [
{
// will update
id: 2,
__component: 'compo.type',
foo: 'bar',
},
{
// will add a new & delete old ones
__component: 'compo.type2',
foo: 'bar2',
},
],
},
})