我试图用jquery附加多个vuejs组件,但它不起作用。所有这些都可以正常工作,直到响应返回多个组件或组件中的组件。
下面是代码:
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<div id="app">
</div>
<script type="text/x-template" id="template-1">
<div>
<h1>Template 1 {{param}}</h1>
</div>
</script>
<script type="text/x-template" id="template-2">
<div>
<h1>Template 2 {{param}}</h1>
</div>
</script>
<script>
Vue.component('template-1', {
template: '#template-1',
props: ['param']
});
Vue.component('template-2', {
template: '#template-2',
props: ['param']
});
const vm = new Vue({
el: '#app'
});
</script>
<script>
function loadMore(){
$.get('/home/test', function (response) {
var MyComponent = Vue.extend({
template: response
});
var compiled = new MyComponent().$mount();
$('#app').append(compiled.$el);
});
}
loadMore();
</script>如果以下响应来自ajax,则它可以工作,并呈现一个组件:
<template-1 param="Test"></template-1>如果以下响应从ajax返回,则它只呈现第一个组件:
<template-1 param="Test"></template-1>
<template-2 param="Test"></template-2>如果以下响应从ajax返回,则呈现这两个组件:
<div>
<template-1 param="Test"></template-1>
<template-2 param="Test"></template-2>
</div>如果以下响应从ajax返回,则它只呈现父组件:
<template-1 param="Test">
<template-2 param="Test"></template-2>
</template-1>是否有一种方法可以始终使此工作,而不知道将从服务器返回多少组件?
https://stackoverflow.com/questions/71665137
复制相似问题