【问题标题】:Can I get Vue.js component as an instance?我可以获取 Vue.js 组件作为实例吗?
【发布时间】:2019-11-04 11:22:28
【问题描述】:

我尝试获取 Vue.js 组件的模板,因为我需要它用于另一个功能。

首先, 我有一个需要 Vue.js 组件模板的函数,因为我希望模板中的数据能够动态更改,而不仅仅是一些静态 HTML。

其次, 我从 Vue.js 组件获取模板时遇到问题。也许他们不允许这样做,但我不确定。我是 Vue.js 的新手。

但以我对 JS 的理解,或许会发生这种情况。

我试图做这样的事情:

let vmComponent = Vue.component('VueComponent', {
  data() {
    return {
      title: 'I am a Vue.js component manually.'
    }
  },
  template: `
  <div>
    <h2>Template Exchange</h2>
    <h3>{{ title }}</h3>
  </div>`,
});

console.log(vmComponent.template);

我希望在运行 vmComponent.template 时得到 HTML 字符串

如果这种做事方式是不可能的。有没有其他方法可以将 Vue.js 组件模板作为 HTML 字符串。

例如,可能在一个 new.Vue({})

【问题讨论】:

  • 我有一个函数 - 这个函数是什么?您可能有 XY 问题,应该以另一种方式解决。请在问题中解释您的情况并提供stackoverflow.com/help/mcve

标签: vue.js vue-component


【解决方案1】:

可以通过vmComponent.options.template访问组件模板。

可以将模板声明为字符串以供重用:

export const template = `...`;

const vmComponent = Vue.component('VueComponent', {
  template,
  ...
});

这可能不适用于pre-compiled templates

【讨论】:

    猜你喜欢
    • 2021-08-27
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 2018-04-25
    • 2020-01-25
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    相关资源
    最近更新 更多