【发布时间】:2018-11-10 14:35:06
【问题描述】:
我有一个项目,在项目中我有 3 个文件:
1 . index.html
2 。 main.js
3 . Vue.js(Vue 库)
我的 index.html:
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
body{
padding-top: 40px;
}
</style>
</head>
<body>
<div id="root" class="container">
<coupon @applied="OnCouponApplied"></coupon>
<h1 v-show="couponApplied">applied</h1>
</div>
<script src="../index/vue.js"></script>
<script src="main.js"></script>
</body>
</html>
还有我的 main.js:
window.Event=new Vue();
Vue.component('coupon',{
name:'coupon',
template:'<input placeholder="enter you`r code" @blur="OnCouponApplied">',
methods:{
OnCouponApplied(){
Event.$emit('applied');
}
}
});
new Vue({
el:'#root',
data:{
couponApplied:false
},
created(){
Event.$on('applied',()=>alert('handle!'));
}
});
但我有两个警告:
警告:
vue.js:597 [Vue 警告]:属性或方法“OnCouponApplied”未在实例上定义,但在渲染期间被引用。通过初始化该属性,确保此属性是反应性的,无论是在数据选项中,还是对于基于类的组件。请参阅:https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties。
(在
中找到) vue.js:597 [Vue 警告]:事件“应用”的处理程序无效:未定义
发现于
--->
它工作正常,现在我也想知道这些警告有什么解决方案吗?
【问题讨论】:
-
在正文中,
<coupon @applied="OnCouponApplied"></coupon>使用的是在根 Vue 实例中不存在的OnCouponApplied -
非常感谢您的帮助。
标签: javascript vue.js vuejs2 vue-component dom-events