<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script type="text/javascript" src="../js/vue.js "></script> <title>Document</title> </head> <body> <div id="root"> 姓:<input type="text"><br><br> 名:<input type="text"><br><br> 全名:<input type="text"> </div> <script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el:'#root', data:{} }) <script> </body> </html>错在哪
时间: 2023-08-14 22:09:56 浏览: 484
Vue.config.productionTip = false
这段代码有两个错误:
1. 在引入 Vue.js 文件时,路径应该是相对于 HTML 文件的路径,而不是相对于 JavaScript 文件的路径。所以应该是 `<script type="text/javascript" src="./js/vue.js"></script>`。
2. 在 `new Vue()` 中的 `data` 属性应该有初始值,否则会导致后面绑定数据出错。例如可以写成 `data: {firstName: '', lastName: '', fullName: ''}`。
正确的代码应该是这样的:
```
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="./js/vue.js"></script>
<title>Document</title>
</head>
<body>
<div id="root">
姓:<input type="text" v-model="firstName"><br><br>
名:<input type="text" v-model="lastName"><br><br>
全名:<input type="text" v-model="fullName">
</div>
<script type="text/javascript">
Vue.config.productionTip = false;
new Vue({
el:'#root',
data: {
firstName: '',
lastName: '',
fullName: ''
},
watch: {
firstName: function() {
this.fullName = this.firstName + ' ' + this.lastName
},
lastName: function() {
this.fullName = this.firstName + ' ' + this.lastName
}
}
});
</script>
</body>
</html>
```
这里还加入了一个 `watch` 属性,可以实时更新全名的值。
阅读全文