添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
在Vue中,通过v-html或innerHTML插入的DOM无法直接绑定方法。为了解决这个问题,可以在组件的mounted生命周期钩子中将方法挂载到window对象上,以便HTML内容可以访问该方法。例如,创建一个`send`方法并将其赋值给window.send,这样在HTML中通过`onclick=send`就可以调用这个方法。 摘要由CSDN通过智能技术生成 const div = document.createElement('div') div.innerHTML = `<span onclick="send"e> click me</span>`

如果你在vue中直接这样写肯定不行,点击这个div的时候,他会提示找不到send方法,所以解决办法是咋mounted之后给window挂载一个send方法就行了

// vue 的mounted 方法
mounted() {
    // 给window挂载一个已有的send方法,这样上面的html代码就可以找到send方法了
    window.send = this.send

使用v-html同理,因为v-html指令的本质就是使用了innerHTML方法

##VUE 在通过V-html 渲染产生的虚拟DOM中实现调用函数,绑定事件 问题:渲染的Html 代码如下:需要通过computed函数 计算add的值 作为该div的placeholder属性 htmltest=“<div id="meetting" contenteditable="true" :placeholder="add(0)" ></div>” 解决方法:将需要渲染的html 包裹在一个div当中,指定该div的id,并将该div挂载在一个新的VUE的实例中;
1.render简介 前面我们的组件的模板都是在模板里写的(template),模板最后都会被vue编译成virtual dom(虚拟dom),在某些情况下模板可能不好用,例如需要实现一个动态的文章标题,根据父组件的level属性,动态的渲染成h1~hx标签,用模板写部分代码如下。 <article-header :level="1">Hello world</article-h...
使用 v-html 指令渲染 HTML 是不支持将数据绑定到 HTML 元素上的,因为 v-html 只是将一个字符串插入到指定元素中,它本身并不是一个组件或元素。如果需要实现类似的功能,可以使用 Vue.js 提供的自定义组件来实现。 下面是一个示例代码,其中通过自定义组件 `v-html-input` 来实现将数据绑定到输入框中: ```html <template> <div v-html="html"></div> <v-html-input v-model="html"></v-html-input> </template> <script> Vue.component('v-html-input', { template: '<input v-bind="$attrs" v-on="$listeners" v-model="innerHtml">', props: ['value'], computed: { innerHtml: { get: function () { return this.value; set: function (newValue) { this.$emit('input', newValue); new Vue({ el: '#app', data: { html: '<p>Hello, world!</p>' </script> 在上面的示例中,我们通过自定义组件 `v-html-input` 来实现将数据绑定到输入框中。这个组件接收一个 value 属性,用来接收父组件传递的数据,同时使用 v-model 指令将输入框的值与内部的 innerHtml 属性双向绑定。当输入框的值发生变化时,通过 $emit 方法将变化的值发送一个 input 事件到父组件中,从而实现数据的双向绑定。
【问题解决】Failed to load module script: Expected a JavaScript module script but the server respond 37864