Node.js dependson访问关系属性?
我有两种简单的模式: 呈现类型:Node.js dependson访问关系属性?,node.js,relationship,keystonejs,keystone,Node.js,Relationship,Keystonejs,Keystone,我有两种简单的模式: 呈现类型: var keystone = require('keystone'); var PresentationType = new keystone.List('PresentationType', { autokey: { from: 'name', path: 'key', unique: true }, }); PresentationType.add({ name: { type: String, required: true },
var keystone = require('keystone');
var PresentationType = new keystone.List('PresentationType', {
autokey: { from: 'name', path: 'key', unique: true },
});
PresentationType.add({
name: { type: String, required: true },
t1: { type: Boolean },
t2: { type: Boolean },
});
PresentationType.relationship({ ref: 'StaticPage', path: 'pages', refPath: 'presentationType' });
PresentationType.register();
静态页面:
var keystone = require('keystone');
var Types = keystone.Field.Types;
var StaticPage = new keystone.List('StaticPage', {
map: { name: 'title' },
autokey: { path: 'slug', from: 'title', unique: true },
drilldown: 'presentationType',
});
StaticPage.add({
title: { type: String, required: true },
presentationType: { type: Types.Relationship, ref: 'PresentationType', many: false },
text1: { type: String, dependsOn: { presentationType.t1: true } },
text2: { type: String, dependsOn: { presentationType.t2: true } },
});
StaticPage.defaultColumns = 'title';
StaticPage.register();
首先,我创建一个具有布尔属性text1和text2的表示类型
其次,当我创建一个页面并指定它的表示类型时,我希望能够基于表示类型布尔值显示某些字段
到目前为止,我似乎找不到答案。不能在关系字段中使用
dependsOn
属性;该字段需要不断填充该关系<模型中的code>dependsOn只能在同一模型的其他静态字段中使用(而不能跨不同模型使用)
感谢您的澄清。那么我如何访问模型A中的模型B数据呢?您可以在模型上编写一个方法来填充该字段,并访问数据。从那里,您可以对该文档执行任何需要的操作
keystone.list(“StaticPage”).model.findOne({u-id:this.\u-id.toString()})。填充(“presentationType”)