繁体   English   中英

如何从外部 JavaScript 触发 Vue.js 方法

[英]How to trigger Vue.js method from external JavaScript

我正在尝试从另一个 JavaScript 文件中的 function 触发 Vue.js 方法。 我已经给出了我尝试过的以下代码。

示例.js

import vm from './vue.js';

function call( ) {
  vm.$options.methods.displayData('I was called externally!')
}

call()   // Here I am calling function

vue.js

var vm = new Vue({
  el: '#app',
  data: {
    firstname : '' ,
    lastname : ''
  },
  methods:{
    displayData: function(s ) {
      alert(s)
    }
  }
})

您不需要访问$options object:

vm.displayData('I was called externally!')

这只是使用实例来访问其方法。


编辑下面的评论:要根据需要使用没有捆绑器或 es6 模块的文件,请删除仅适用于模块的import语句。

以下是index.htmlvue.jssample.js所需的 3 个完整文件:

索引.html

<html>
<body>
  <div id="app"></div>
  <script src="https://unpkg.com/vue@2.6.12/dist/vue.js"></script>
  <script src="vue.js"></script>
  <script src="sample.js"></script>
</body>
</html>

vue.js

const vm = new Vue({
  el: '#app',
  data: () => ({
    firstname : '',
    lastname : ''
  }),
  methods:{
    displayData: function(s) {
      alert(s)
    }
  }
})

示例.js

function call( ) {
  vm.displayData('I was called externally!')
}

call();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM