首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么动态挂载的vuejs内容不是根vue实例的子组件?

为什么动态挂载的vuejs内容不是根vue实例的子组件?
EN

Stack Overflow用户
提问于 2016-07-11 20:34:45
回答 0查看 3.7K关注 0票数 2

我加载了一些包含自定义组件的html,并将这些内容挂载到父组件中的固定节点。不幸的是,我发现它们之间没有父子关系,所以root vue不能接收由动态插入的组件发送的事件。我已经创建了一个小提琴,任何帮助或建议都是感激的!http://jsfiddle.net/matiascx/7Ljygv81/1/

代码语言:javascript
复制
<div id="app">
    <button v-on="click: addNewElement()">Add custom Element</button> 
    <br />
    <div id="dynamicloaded"></div>
</div>

JS:

代码语言:javascript
复制
new Vue({
    el: '#app',
    data: {
        sampleElement: '<div class="dynamic-child"><button v-on="click: test()">Test</button></div>'

    },
    methods:{
        addNewElement: function(){



           var vmtemp = Vue.extend({
                            template: this.sampleElement,
                            methods: {
                             test: function(){
                               alert("comes from dynamically loaded content");
                               this.$dispatch('child-msg','this comes from ajax loaded component');
                             }
                            }
                        });
           new vmtemp().$mount(document.getElementById('dynamicloaded'));
        },
        test: function(){
           alert('Test');
        },
        events: {
         'child-msg': function(msg){
            console.log('message received'+msg);
         }
        }
    }
});
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38307070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档