<p>vue-server-renderer:指令不适用于导入的组件</p>

创建于 2019-10-20  ·  3评论  ·  资料来源: vuejs/vue

此功能可以解决什么问题?

当前,SSR指令不适用于二手(子)组件,而仅应用于HTML标签和元素。

再生产

// Step 1: Create a Vue instance
const Vue = require("vue");

const Test = {
  template: `<div>This should be red</div>`
}

const app = new Vue({
  template: `
  <div>
    <Test v-make-red/>
    <div v-make-red>This is red</div>
  </div>
  `,
  components: {
    Test
  }
});

const makeRed = (node, dir) => {
  const style = node.data.style || (node.data.style = {});
  if (Array.isArray(style)) {
    style.push({ backgroundColor: "red" });
  } else {
    style.backgroundColor = "red";
  }
};

// Step 2: Create a renderer
const renderer = require("vue-server-renderer").createRenderer({
  directives: {
    makeRed
  }
});

// Step 3: Render the Vue instance to HTML
renderer.renderToString(app, (err, html) => {
  if (err) throw err;
  console.log(html);
  // <div data-server-rendered="true"><div>This should be red</div> <div style="background-color:red;">This is red</div></div>
  // But should include red background-color style for the first div as well
});

相关: https :

bug contribution welcome ssr

最有用的评论

大家好。 我每天都使用vue,我想贡献自己的力量。 我在这里看到这是一个贡献欢迎标签。
有人可以帮助我,以便我尽可能地解决此问题吗?

(我已经安装了分叉,并且可以运行测试和构建。)

所有3条评论

大家好。 我每天都使用vue,我想贡献自己的力量。 我在这里看到这是一个贡献欢迎标签。
有人可以帮助我,以便我尽可能地解决此问题吗?

(我已经安装了分叉,并且可以运行测试和构建。)

嗨,对此有何更新? 仍不能与nuxt 2.14一起使用

嗨,对此有何更新? 仍不能与nuxt 2.14一起使用

+1
还是行不通,
[email protected]
[email protected]
[email protected]

此页面是否有帮助?
0 / 5 - 0 等级