Vue.js 是否有方法调用vue 2上数据中包含参数的方法?
我有一个带参数的方法,我希望在数据中得到结果(而不是在html上用花括号括起来)。我不确定这是可能的还是什么。这是我想要实现的一个例子: --编辑——我不需要多个函数,我只需要使用一个函数,并将其与参数一起使用-- html 是的,你可以 您的问题是,在初始化Vue.js 是否有方法调用vue 2上数据中包含参数的方法?,vue.js,methods,vuejs2,Vue.js,Methods,Vuejs2,我有一个带参数的方法,我希望在数据中得到结果(而不是在html上用花括号括起来)。我不确定这是可能的还是什么。这是我想要实现的一个例子: --编辑——我不需要多个函数,我只需要使用一个函数,并将其与参数一起使用-- html 是的,你可以 您的问题是,在初始化数据之前,您正在数据内部引用此.data 使用computed代替数据或方法 如果需要使用data作为参数,也可以从模板中调用方法 结果:{{sum(data1,1}} 结果:{sum(data2,1)} 请参阅代码片段 newvue(
数据之前,您正在数据内部引用此.data
使用computed
代替数据或方法
如果需要使用data
作为参数,也可以从模板中调用方法
结果:{{sum(data1,1}}
结果:{sum(data2,1)}
请参阅代码片段
newvue({
el:“#应用程序”,
数据(){
返回{
数据1:“”,
数据2:“”,
结果1:这个和(1,1),
结果2:这个和(2,2),
}
},
方法:{
总和(数字1,数字2){
返回编号1+编号2
}
},
计算:{
计算1(){
返回此文件。数据1*1
},
计算2(){
返回此数据。数据2*2
},
}
})
来自模板的方法
结果:{sum(data1,1)}
结果:{sum(data2,2)}
方法从计算
c-结果:{{computed1}}
c-结果:{{computed2}}
从数据初始化调用
结果:{{result1}}
结果:{{result2}}
是的,你可以
您的问题是,在初始化数据之前,您正在数据内部引用此.data
使用computed
代替数据或方法
如果需要使用data
作为参数,也可以从模板中调用方法
结果:{{sum(data1,1}}
结果:{sum(data2,1)}
请参阅代码片段
newvue({
el:“#应用程序”,
数据(){
返回{
数据1:“”,
数据2:“”,
结果1:这个和(1,1),
结果2:这个和(2,2),
}
},
方法:{
总和(数字1,数字2){
返回编号1+编号2
}
},
计算:{
计算1(){
返回此文件。数据1*1
},
计算2(){
返回此数据。数据2*2
},
}
})
来自模板的方法
结果:{sum(data1,1)}
结果:{sum(data2,2)}
方法从计算
c-结果:{{computed1}}
c-结果:{{computed2}}
从数据初始化调用
结果:{{result1}}
结果:{{result2}}
TL;RD:
1.你完全可以
2.你可能不应该
1.这里有一种方法可以让它发挥作用。
sum不是用一个值来响应,而是用一个函数来响应。这允许值在没有任何反应的情况下发生变化。(稍后将对此进行详细介绍)
传递指针(可以查找的字符串名称),而不是将值传递给sum函数
newvue({
el:“应用程序”,
数据(){
返回{
数据1:“”,
数据2:“,
结果1:这个.sum(“数据1”,1),
结果2:此.sum(“数据2”,3.2)
};
},
方法:{
总和(数字1,数字2){
返回函数(){
var n1=这个[number1]| | 0;
返回Number.parseFloat(n1)+Number.parseFloat(number2);
};
}
},
计算:{
计算1(){
返回此参数。数据1*1;
},
计算2(){
返回此.data2*2;
}
}
});
结果:{{result1()}}
结果:{{result2()}}
TL;RD:
1.你完全可以
2.你可能不应该
1.这里有一种方法可以让它发挥作用。
sum不是用一个值来响应,而是用一个函数来响应。这允许值在没有任何反应的情况下发生变化。(稍后将对此进行详细介绍)
传递指针(可以查找的字符串名称),而不是将值传递给sum函数
newvue({
el:“应用程序”,
数据(){
返回{
数据1:“”,
数据2:“,
结果1:这个.sum(“数据1”,1),
结果2:此.sum(“数据2”,3.2)
};
},
方法:{
总和(数字1,数字2){
返回函数(){
var n1=这个[number1]| | 0;
返回Number.parseFloat(n1)+Number.parseFloat(number2);
};
}
},
计算:{
计算1(){
返回此参数。数据1*1;
},
计算2(){
返回此.data2*2;
}
}
});
结果:{{result1()}}
结果:{{result2()}}
请从数据
对象中删除计算。这是计算属性的经典用例。我已经添加了一个计算用例,但是,我仍然显示您可以从数据
内部调用方法。这就是问题所在(您可以从数据中调用带有参数的方法吗…),您已经在单击时添加了它“添加注释”;DI只需要一个方法(或计算),因为它是一个大函数。为此,我需要使用参数。似乎我不能在计算属性中使用参数。。为什么不能使用参数从模板调用函数?{sum(data1,1)}
请从数据
对象中删除计算。这是计算属性的经典用例。我已经添加了一个计算用例,但是,我仍然显示您可以从数据
内部调用方法。这就是问题所在(您可以从数据中调用带有参数的方法吗…),您已经在单击时添加了它”添加注释“我只需要有一个方法(或计算的),因为这是一个大函数。为此,我需要使用参数。似乎我不能在计算属性中使用参数..为什么你不能用参数从模板调用你的函数呢?{sum(data1,1)}}
很好的解释。谢谢。很好的解释。谢谢。
<div id="app">
<input type="number" v-model="data1">
<input type="number" v-model="data2">
<p>result: {{result1}}</p>
<p>result: {{result2}}</p>
</div>
new Vue({
el: '#app',
data() {
return {
data1: '',
data2: '',
result1: this.sum(1, this.data1),
result2: this.sum(1, this.data2),
}
},
methods: {
sum(number1, number2){
return number1 + number2
}
}
})