javascript - 在 Vue 运行时运行一些外部 JS 代码
问题描述
是否可以在运行时在 Vue 中运行一些外部 JS 代码?
例如,我有一些逻辑可以由本地管理员在运行时修改,而无需重新加载整个应用程序,该应用程序作为一块 JS 代码存储在数据库中,并且可以通过 axios 调用通过后端访问。那么是否可以在不预编译的情况下包含这些脚本?像这样使用:
let params = {...}; //some input props for my stored script
let script = restService.getScript(); //get script code from backend via axios
let result = scriptService.executeScript( script, params ); //execute script with given params
我对 Java 应用程序有类似的方法,可以在运行时执行存储的 Groovy 脚本,想在我的 Vue 应用程序中实现类似的东西。
我对前端 JS 开发还很陌生,所以我可能缺少一些明显的东西。
解决方案
在您的 vue 应用程序 main.js 中,您可以定义您的 vue 实例,例如:
window.app = new Vue({
store,
render: h => h(App)
});
app.$mount('#app');
从外部 js 你可以从app
对象访问你的 Vue 实例。如果您使用的是vuex,您可以调用如下操作:
app.$store.dispatch('ACTION_NAME', 'Payload');
推荐阅读
- php - 如何捕获字符串中子字符串的所有实例 - 使用正则表达式
- python - 从字符串中删除数字会导致 SettingWithCopyWarning
- python-3.x - Python-拆分数据框
- php - CodeIgniter Updating Session - multiple array layer
- angular - 将服务价值纳入 Angular 组件的视图
- c# - C# -- 使用 Amazon oauth2 登录 -- 执行 POST 请求时出错
- node.js - How to create a conditional debug Visual Studio Code with node js
- python - AttributeError: module 'datetime' has no attribute 'time'
- xcode - Xcode:如何使用 cmd + x 剪切一行或剪切选定的文本
- rstudio - Cannot see all my functions when running Open CPU single-user server