Vue.js 打印原始 html 并调用组件方法

Posted

技术标签:

【中文标题】Vue.js 打印原始 html 并调用组件方法【英文标题】:Vue.js print raw html and call component methods 【发布时间】:2019-06-03 01:24:25 【问题描述】:

我正在从 ajax 请求动态加载 html 内容。这个 html 有一些按钮,比如

<button @click="someComponentMethod">Add</button>

如您所见,我正在尝试调用组件方法。但它不起作用。

我认为代替@click html 的默认属性“onclick”应该可以工作。但这只会识别在全局范围内定义的函数。有人可以指导我如何从核心 javascript 调用组件的功能,即使用“onclick”。

更新

好的!我知道 v-html 不会编译那个 html。但是你们能告诉我如何从javascript调用组件方法(即在组件范围之外)。这样我就可以使用onclick="JAVASCRIPT_CODE_TO_EXECUTE_METHOD"了。

【问题讨论】:

如何添加html内容?,请把这段代码。谢谢 我用v-for遍历数据,然后用v-html打印html 看这里,v-html只加html不编译。***.com/a/45494778/4921471 @AmarjitSingh 检查我的答案here 【参考方案1】:

不会像official docs 中提到的那样编译该内容:

span 的内容将替换为rawHtml 属性的值,解释为纯 HTML - 数据绑定被忽略。请注意,您不能使用v-html 来编写模板部分,因为Vue 不是基于字符串的模板引擎。相反,组件更适合作为 UI 重用和组合的基本单元。

【讨论】:

【参考方案2】:

我最终以 JSON 格式保存组件,而不是加载 html。该组件有一个存储 html 字符串的模板属性。通过这种方式,我能够在数据库中存储和加载组件,并且它可以正常工作。

【讨论】:

以上是关于Vue.js 打印原始 html 并调用组件方法的主要内容,如果未能解决你的问题,请参考以下文章

Vue.js---组件

vue自定义全局组件并通过全局方法 Vue.use() 使用该组件

从另一个组件vue js和laravel调用方法

vuejs子组件怎么获取父组件的值

从 vue.js 3 中传递数据的方法渲染组件

从组件外部调用 Vue.js 组件方法