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
Vue.js 是否有方法调用vue 2上数据中包含参数的方法?_Vue.js_Methods_Vuejs2 - Fatal编程技术网

Vue.js 是否有方法调用vue 2上数据中包含参数的方法?

Vue.js 是否有方法调用vue 2上数据中包含参数的方法?,vue.js,methods,vuejs2,Vue.js,Methods,Vuejs2,我有一个带参数的方法,我希望在数据中得到结果(而不是在html上用花括号括起来)。我不确定这是可能的还是什么。这是我想要实现的一个例子: --编辑——我不需要多个函数,我只需要使用一个函数,并将其与参数一起使用-- html 是的,你可以 您的问题是,在初始化数据之前,您正在数据内部引用此.data 使用computed代替数据或方法 如果需要使用data作为参数,也可以从模板中调用方法 结果:{{sum(data1,1}} 结果:{sum(data2,1)} 请参阅代码片段 newvue(

我有一个带参数的方法,我希望在数据中得到结果(而不是在html上用花括号括起来)。我不确定这是可能的还是什么。这是我想要实现的一个例子:

--编辑——我不需要多个函数,我只需要使用一个函数,并将其与参数一起使用--

html

是的,你可以

您的问题是,在初始化
数据之前,您正在数据内部引用
此.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
    }
  }
})