将SailsJS模型架构导出为JSON

问题描述 投票:0回答:1

目标是采用模型架构并将其作为JSON导出到某处,采用该JSON并在Angular中建立动态形式。

我在这里看到的主要主要问题是获取模型,并生成输出,这对于在Angular中生成反应形式非常重要。

例如:

module.exports = {
  attributes: {
    nameOnMenu: { type: 'string', required: true },
    price: { type: 'string', required: true },
    percentRealMeat: { type: 'number' },
    numCalories: { type: 'number' },
  },
};

所以最终输出看起来像:

[
  { nameOnMenu: { type: 'string', required: true }},
  { price: { type: 'string', required: true }},
  { percentRealMeat: { type: 'number',  required: false }},
  { numCalories: { type: 'number', required: false }},
]

基于此输出,我将遍历所有内容并生成表格。

javascript node.js angular sails.js
1个回答
0
投票

我不确定我是否真的理解您在这里提出的问题,但是让我猛烈尝试提供答案。

我可以想到两种实现它的方法:

1。)使用server rendered local data包括要在前端使用的所需结果。

2。)从前端获得an API request以获得所需的结果。

在最终的控制器/动作中,您可以通过各种方式获得模型属性。我能想到一个:

const { resolve } = require('path');
// Portable relative path based on code being in
// config/bootstrap.js file so adjust as required
const modelDefinition = require(resolve(__dirname, '..', 'api', 'models', 'NameOfModel.js')).attributes;
console.log(modelDefinition);
{ name:
  { type: 'string',
    required: true,
    validations: { isNotEmptyString: true },
    autoMigrations:
     { columnType: 'varchar(255)',
       unique: false,
       autoIncrement: false } },
  ...etc,
}

为了完整起见,您需要考虑model settingsmodel attributes的一些问题,以获取准确的输出,例如,表是否包含updatedAt字段。

最终,您可以根据需要使用Vanilla Javascript / Node整理这些数据,以获得所需的结果,但我会留给您。

正如另一位用户指出的那样,我也不确定您是否会找到使用Angular和Sails来获得完全反应性数据的正式支持的解决方案,我认为这需要一些工程设计才能创建出一些适合您的需求。

© www.soinside.com 2019 - 2024. All rights reserved.