Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从外部脚本更改或访问Vue.js方法_Javascript_Vue.js - Fatal编程技术网

Javascript 从外部脚本更改或访问Vue.js方法

Javascript 从外部脚本更改或访问Vue.js方法,javascript,vue.js,Javascript,Vue.js,我有一个基于网页包的Vue应用程序。该组件有两个简单的计算属性,比如从输入中获取总和。 但是现在我需要使它能够从一个与当前程序集无关的外部文件中替换求和函数,以及将此文件中的按钮(和)其他函数添加到当前模板中的功能—减法、乘法、除法,具体取决于从外部文件中设置的标志(隐藏/显示)。 最好的方法是什么?有什么想法吗 谢谢我不认为在.vue组件之外使用功能是个坏主意。这样,创建纯组件就容易多了,只需从这些文件中导出这些函数,您的.vue组件就可以导入它们。(但我认为这是一种你要么使用要么不使用的固执

我有一个基于网页包的Vue应用程序。该组件有两个简单的计算属性,比如从输入中获取总和。 但是现在我需要使它能够从一个与当前程序集无关的外部文件中替换求和函数,以及将此文件中的按钮(和)其他函数添加到当前模板中的功能—减法、乘法、除法,具体取决于从外部文件中设置的标志(隐藏/显示)。 最好的方法是什么?有什么想法吗


谢谢

我不认为在.vue组件之外使用功能是个坏主意。这样,创建纯组件就容易多了,只需从这些文件中导出这些函数,您的.vue组件就可以导入它们。(但我认为这是一种你要么使用要么不使用的固执己见的模式。)

下面的代码片段仅表明,向Vue组件(或本例中的实例)添加外部函数非常简单:

const sum函数=(a,b)=>{
返回a+b
}
新Vue({
el:“应用程序”,
计算:{
结果(){
返回函数(Number(this.a)、Number(this.b))
}
},
数据(){
返回{
答:0,,
b:0
}
}
})



a+b={{result}
最好的方法是重新编写Vue组件以处理此问题。您当前采用的方法在架构上并不合理。这将创建外部依赖项,随着代码库的增长,这些依赖项很可能会给您带来很大的麻烦。或者,创建一个新的Vue组件作为包装器,并封装外部脚本和其他组件。在实际项目中,我同意,但这是面试前的技术测试。到目前为止,我还没有找到比将函数从外部js文件推送到localstorageYikes更好的方法。。。如果这是面试的问题,我害怕他们在项目中做什么。您可以通过
窗口
对象公开函数
window.myCrazyFunction=()=>{//code}
我很高兴能帮上忙。不要忘记VueJS为您做了很多事情,但它是幕后的JavaScript——这意味着您可以做JS允许您做的任何事情。