我知道new Vue({el: "#app"})
可以呈现整个#app html,如何new Vue(el: "html with vue component")
这是我的代码:
<div id="app">
</div>
<script>
Vue.component("c", {template: `<div>is c</div>`})
new Vue({el: "#app"})
// after init app
$("#app").append(parseVueComponent(`<c></c>`))
// I expect result is
// <div id="app">
// <div>is c</div>
// </div>
// how to implement parseVueComponent
</script>
答案 0 :(得分:1)
简单:执行Vue.component()
时,第一个参数是可重用组件的名称。然后,您可以将该名称用作HTML标记!因此,如果我们有Vue.component('my-component', { . . . })
,那么我们所要做的就是:
<div id="app">
<my-component></my-component>
</div>
答案 1 :(得分:0)
为什么要解析整个组件?这是Vue的工作。如果你想要的只是用伴随的html渲染文本,那么你可以使用v-html
指令解析并显示html和文本。这是一个小片段,可以给你一个想法:
data() {
return {
textWithHTML : '<div id="unique">my text</div>'
}
}
现在使用/ render / parse,我们将在template
<template>
<div v-html="textWithHTML"></div>
</template>
答案 2 :(得分:0)
我找到了解决方案,当我在js中添加vue组件标记时,我再次使用@Entity
@Table(name = "requisition_details")
public class RequisitionDetail {
@Id
private Long id;
@ManyToOne(cascade = CascadeType.ALL)
@Column(name = "requisition_id")
private Long requisitionId;
@OneToOne
@Column(name = "product_id")
private Long productId;
private int quantity;
@Column(name = "unit_price")
private Double unitPrice;
@Column(name = "total_price")
private Double totalPrice;
,它将转换所有当前存在的vue组件标记,以下是我的代码:
new Vue(el: "#app")