我有一个简单的vue组件,它尝试使用一种方法在包装元素#app之外调用,但未触发。有没有办法重新注册视图组件,以便我可以使用Component.function();来调用它。

var viewModel = new Vue({
  el: "#app",
  data: {},
  methods: {
    test: function() {
      alert("test fuction called");
    }
  }
});


HTML:

<div id="app">

</div>

<a @click="viewModel.test()">Click me!</a>


小提琴:
https://jsfiddle.net/queeeeenz/Lja7pake/198/

最佳答案

我测试了一段时间。


可能无法在Vue元素之外的元素中使用@
var viewModel似乎未附加到窗口对象


我可以用这个

JS

window.viewModel = new Vue({
  el: "#app",
  data: {},
  methods: {
    test: function() {
      alert("test fuction called");
    }
  }
});


的HTML

<div id="app">

</div>

<a onClick="viewModel.test()">Click me!</a>

关于javascript - 无法在其元素之外调用Vue组件方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53425795/

10-11 05:46
查看更多