大家好!
我有这段HTML代码:
// index.html
<div data-init="component-one">
<...>
<div data-init="component-two">
<button @click="doSomething($event)">
</div>
</div>
如果我理解正确,这基本上是在另一个Vue实例中引用了一个Vue实例。相应的JS代码分为两个文件,看起来像是这样:
// componentOne.js
new Vue(
el: '[data-init="component-one"]',
data: {...},
methods: {...}
);
// componentTwo.js
new Vue(
el: '[data-init="component-two"]'
data: {...}
methods: {
doSomething: function(event) {...}
}
);
现在的问题是,来自componentTwo
的doSomething
从未被调用。
但是当我进行内联操作(例如{{ 3 + 3 }}
)时,它像应该一样计算。所以Vue知道有些东西。而且它还会在页面加载时删除@click
元素。
我也尝试过玩弄inline-template
,但它在这种情况下并没有像我期望的那样工作。而且我发现它本来就不适用于这种情况,所以我又放弃了它。
这里应该采取什么正确的方法?我如何以最简单的方式使它按照目前的设置工作?
我们使用的Vue版本是2.1.8
。
干杯!