【问题标题】:How to Configure view locals in action as machine如何将本地视图配置为机器
【发布时间】:2018-12-08 13:42:20
【问题描述】:

我是风帆中的洛基,从动作 2(作为机器的动作)开始。我被困在如何在操作 2 中配置本地视图。 例如,在独立操作中,我可以通过以下 sn-p 配置和添加要查看的布局:

res.view('./pages/coffee/Boss/sell', { layout: 'layouts/layout-boss' })

我的问题是我们如何用 action 作为 machine(action2) 做同样的事情?

exits: {
    success: {
      responseType: "view",
      viewTemplatePath: './pages/coffee/Boss/listDrink'
      //Here I want to configure locals of view
      //Specifically, I want to configure layout of the view
    },
    notFound: {
      description: 'The data of drinks are empty',
      respondType: 'notFound'
    }
},

【问题讨论】:

    标签: javascript node.js sails.js ejs


    【解决方案1】:

    看起来您可以在 exits.success 调用中设置任何特定参数,例如模板中可能需要的布局或任何 ejs 局部变量:

    fn: async function (inputs, exits) {
    
      return exits.success({layout: 'layouts/layout-boss', ejsLocalVariable: 'value'});
    
    }
    

    退出声明就是

    exits: {
      success: {
        responseType: "view",
        viewTemplatePath: './pages/coffee/Boss/listDrink'
      },
      notFound: {
        description: 'The data of drinks are empty',
        respondType: 'notFound'
      }
    },
    

    【讨论】:

      【解决方案2】:

      在 SailsJS 中,要将布局应用到 actions2 对象中的模板,您可以执行以下操作:

      1. 像往常一样宣布成功退出:
      exits: {
        success: {
          responseType: 'view',
          viewTemplatePath: 'pages/hello',
        },
      },
      
      1. 从您的方法返回时,将布局添加到您传递给模板的任何其他值。
      return exits.success({name1:value1, name2:value2, layout: 'layouts/backoffice'});
      

      据我了解,布局是另一个本地,这里解释了本地: https://sailsjs.com/documentation/concepts/views/locals

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-05-23
        • 2020-07-17
        • 2012-05-23
        • 2016-11-23
        • 2016-04-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多