SailsJS获取出口属性/描述

时间:2018-07-10 01:59:19

标签: javascript node.js sails.js

在Sails JS中,您可以创建Action来代替Controller。

一个示例动作就是这样。

module.exports = {

  friendlyName: 'Accounts',

  description: 'Manages Accounts',

  inputs: {
    name: "The name of the account"

  },

  exits: {

    success: {
      description: 'Successfully created a new product.',
    },

  },

  fn: async function (inputs, exits) {
    exits.success();
  }

};

您将如何获取出口的属性。例如,“ exits.success.description”返回未定义。

fn: async function (inputs, exits) {
    //This code returns undefined
    sails.log.info("Success description: " + exits.success.description);
    exits.success();
  }

2 个答案:

答案 0 :(得分:0)

您正在使用的出口是定义成功描述的对象。简而言之,其功能是在吊起时由帆产生的。如果您要对其进行控制台,则会看到它。当前,没有顺利,正确的方法来实现您想要的工作。但是我找到了解决方法。您必须像这样在config / globals.js中要求文件

right=df

提起文件后,您的文件将在帆的全局对象中显示为

accounts: require('../api/controllers/accounts.js'),

正如我说的那样,我对这种方法并不十分满意,但这是我发现获得描述值的唯一方法。

答案 1 :(得分:0)

如果有人想知道的话,我已经找到了解决方案,即先将动作定义为对象,然后再调用该对象。例如:

let action = {

  friendlyName: 'Accounts',

  description: 'Manages Accounts',

  inputs: {
    name: "The name of the account"

  },

  exits: {
    success: {
      description: 'Successfully created a new product.'
    }
  },


  fn: async function (inputs, exits) {
    var description = action.exits.success.description;
    sails.log.info("This is my description: " + description);
    return exits.success();
  }

};

module.exports = action;