【发布时间】:2020-07-17 15:46:33
【问题描述】:
我想从组件向父方法发送参数。 但是我收到了这些错误消息“[Vue warn]: Error in v-on handler:”TypeError: Cannot read property 'deleteClicked' of undefined”
我想从组件向 deleteClicked 函数发送参数。
我的 javascript 代码如下。
var sablon = Vue.extend({
props: ["name"],
template: '<button type="button" class="btn btn-warning" v-on:click=this.$parent.deleteClicked(name) style = "margin: 3px;" > {{ name }}</button > '
});
var viewmodel = new Vue({
el: '#divimiz',
components: { 'sablonx': sablon },
data: {
names: ['Mary', 'John', 'Robert'],
newname: '',
test: "selam",
},
methods: {
addname: function () {
this.names.push(this.newname);
this.newname = '';
},
deleteClicked: function (item) {
var x = this.names.indexOf(item);
if (x > -1) {
this.names.splice(x, 1);
}
},
},
});
我的html代码如下,
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<div id="divimiz" class="container">
<div class="row">
<sablonx v-for="name in names" v-bind:name="name"></sablonx>
<br>
<input class="form-control" type="text" v-model="newname" style="width: 400px; margin: 5px;">
<button class="btn btn-info" v-on:click="addname">Click to add name</button>
</div>
<script src="x.js"></script>
【问题讨论】:
标签: javascript vue.js vuejs2 vue-component vuex