asa*_*nas 2 javascript vue.js vuejs2
我有一个场景,我希望输入字段的v模型绑定由计算属性返回的值决定.
请看下面的例子:
<!DOCTYPE html>
<html>
<head>
<script src="https://unpkg.com/vue@2.1.10/dist/vue.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div id="app" class="container-fluid">
<h2>Input Binding</h2>
<p><b>First Name</b></p>
<input type="text" v-model="value.first" placeholder="Enter first name" />
<p style="margin-top:20px;"><b>Second Name</b></p>
<input type="text" :v-model="lastName" placeholder="Enter last name" />
<hr />
<p>{{value.first}} {{value.second}}</p>
<hr />
<p>Value of computed property: {{lastName}}</p>
</div>
<script>
new Vue({
el: '#app',
data: function() {
return {
value: {
first:'',
second:''}
}
},
computed: {
// a computed getter
lastName: function() {
return 'value.second'
}
}
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
正如您在上面的代码中看到的,我希望第一个字段绑定到value.first,所以我选择了v-model ="value.first".对于第二个字段,我希望模型绑定由computed属性返回的值决定.现在它是一个简单的例子,只有一个返回值,即value.second.但这将取决于逻辑.
现在,当我尝试进行绑定时,它不会返回任何内容.任何帮助是极大的赞赏.
您可以使用计算的setter,如下所示:
computed: {
lastName: {
get(){
//perform your logic
return 'value.second'
},
set(newValue){
this.value.second = newValue;
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在v-model在模板中使用此计算属性;
<input type="text" v-model="lastName" placeholder="Enter last name" />
Run Code Online (Sandbox Code Playgroud)
这是小提琴
| 归档时间: |
|
| 查看次数: |
3983 次 |
| 最近记录: |