Dav*_* J. 11 javascript vue.js
我正在加载一个模板,该模板使用我的代码引用客户端js文件,如下所示:
<!DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.0.1/vue.js"></script>
<link rel="stylesheet" type="text/css" href="../css/app.css">
</head>
<body>
<div id="container">
<div id="map">
<script src="../js/app.js" type="text/javascript"></script>
<div id="offer-details">
<form id="offer-form" v-on:submit="makeOffer(tags, description, code)">
<input id="description"/>
<input id="tags"/>
<input id="code"/>
<input type="submit"/>
</form>
</div>
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的浏览器显示以下(details.js)成功加载.
var vm = new Vue({
el: "#details",
data: {
offer: {
publickey: '',
privatekey: '',
name: '',
service: '',
value: '',
currency: '',
tags: '',
description: '',
code: ''
},
methods: {
makeOffer: function makeOffer(){console.log(vm.publickey)}
}
}
})
Run Code Online (Sandbox Code Playgroud)
但是,当我提交表单时,我收到以下错误消息:
[Vue warn]: Property or method "makeOffer" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option. (found in root instance)vue.js:2574:7
[Vue warn]: Handler for event "submit" is undefined.
Run Code Online (Sandbox Code Playgroud)
在我看来,就像我应该在方法键中定义makeOffer一样.这与在实例上定义它不一样吗?为什么不看到makeOffer?
Mah*_*dam 12
您希望确保makeOffer在methods选项中(它本身在数据选项之外).现在,您在data选项中有了methods选项.此外,您无法登录publickey使用vm.publickey; 相反,你应该使用this.offer.publickey.