如何在sails.js中使用动态页面标题>;v1.0?

如何在sails.js中使用动态页面标题>;v1.0?,sails.js,Sails.js,在过去的几天里,我一直在寻找一个可行的解决方案,以优化html页面标题sails.js布局文件中的一些标题,比如layout.ejs,默认情况下使用静态页面标题 显然,最好有动态页面标题,例如仪表板、购物车等 其他人以前也在寻找这个答案,并在和中获得了以前的sails版本的答案。 不幸的是,它们似乎都不适合最新版本的sails.js(截至本文)。 正朝着正确的方向前进,并提出了我想要的东西。但是您必须为每个控制器定义一个标题,并将其传递到视图中。否则你会被解雇 评估时未定义标题 那么,如何定义

在过去的几天里,我一直在寻找一个可行的解决方案,以优化html页面标题
sails.js布局文件中的一些标题
,比如
layout.ejs
,默认情况下使用静态页面标题
显然,最好有动态页面标题,例如仪表板、购物车等
其他人以前也在寻找这个答案,并在和中获得了以前的sails版本的答案。 不幸的是,它们似乎都不适合最新版本的sails.js(截至本文)。

正朝着正确的方向前进,并提出了我想要的东西。但是您必须为每个控制器定义一个
标题
,并将其传递到视图中。否则你会被解雇

评估时未定义标题


那么,如何定义默认情况下可在每个控制器/视图中访问的局部变量?

因此,当前sails.js版本的一个完整解决方案如下:

layout.ejs
文件中,定义如下动态页面标题

<head>
  <title>
    <%= title %>
  </title>
  ...
</head>
...
现在,在每个应使用自定义页面标题的控制器中覆盖页面标题,例如,
view login.ejs

module.exports = {


  friendlyName: 'View login',


  description: 'Display "Login" page.',


  exits: {

    success: {
      viewTemplatePath: 'pages/entrance/login',
    },

    redirect: {
      description: 'The requesting user is already logged in.',
      responseType: 'redirect'
    }

  },


  fn: async function (inputs, exits) {

    if (this.req.me) {
      throw {redirect: '/'};
    }

    return exits.success({title: 'Login'});

  }


};

因此,当前sails.js版本的完整解决方案如下:

layout.ejs
文件中,定义如下动态页面标题

<head>
  <title>
    <%= title %>
  </title>
  ...
</head>
...
现在,在每个应使用自定义页面标题的控制器中覆盖页面标题,例如,
view login.ejs

module.exports = {


  friendlyName: 'View login',


  description: 'Display "Login" page.',


  exits: {

    success: {
      viewTemplatePath: 'pages/entrance/login',
    },

    redirect: {
      description: 'The requesting user is already logged in.',
      responseType: 'redirect'
    }

  },


  fn: async function (inputs, exits) {

    if (this.req.me) {
      throw {redirect: '/'};
    }

    return exits.success({title: 'Login'});

  }


};
e、 g:返回(标题:“主页”)


e、 g:return(标题:“主页”)

试着更清楚地解释为什么这是问题的答案。试着更清楚地解释为什么这是问题的答案。