2016-02-04 26 views
1

如何使用Vue.js将方法结果绑定到V模型?使用Vue.js绑定方法结果到V模型

例如:

<someTag v-model="method_name(data_attribute)"></someTag> 

我不能让它出于某种原因。

谢谢。

+0

对此使用计算值。 – ceejayoz

+1

这不起作用,因为我无法将参数传递给计算属性,我希望使用我传递的属性来评估模型。编辑:我会尝试将东西分解成组件 – greenymaster69

+2

如果您可以发布较少混淆的示例,也许我们可以提供更多帮助。我不清楚为什么你会这样做。 – ceejayoz

回答

4

v-model表达式必须具有getset函数。对于大多数变量,这是非常简单的,但你也可以使用一个计算的属性来自己定义他们像这样:

data:function(){ 
    return { value: 5 } 
}, 
computed: { 
    doubleValue: { 
     get(){ 
      //this function will determine what is displayed in the input 
      return this.value*2; 
     }, 
     set(newVal){ 
      //this function will run whenever the input changes 
      this.value = newVal/2; 
     } 
    } 
} 

然后你可以使用<input v-model="doubleValue"></input>

如果你只是想在标签中显示的方法结果,请使用<tag>{{method_name(data_attribute)}}</tag>

+0

@ greenymaster69你是否能够正常工作? – Jeff