我正在尝试为以下场景找到可行的解决方案:
我现在正尝试使用$ mount功能试一试。 你可以查看这个小提琴http://jsfiddle.net/matiascx/cd35khy8/ 另外,我在这里粘贴代码:
<div id="app">
<button v-on="click: addNewElement()">Add custom Element</button>
<br />
<div id="dynamicloaded"></div>
</div>
new Vue({
el: '#app',
data: {
sampleElement: '<div><button v-on="click: test()">Test</button></div>'
},
methods:{
addNewElement: function(){
var vmtemp = Vue.extend({
template: this.sampleElement,
methods: {}
});
new vmtemp().$mount(document.getElementById('dynamicloaded'));
},
test: function(){
alert('Test');
}
}
});
vuejs总是抱怨:
VM1881:3 Uncaught TypeError: scope.test is not a function
我想知道这是因为错误的范围分配给新安装的内容。
答案 0 :(得分:1)
如果您调试应用程序,您会发现选项中不存在方法test
。这是因为父亲的方法是
您应该直接在methods:{}
dynamicloaded
中添加方法测试