在帖子编辑页面上有完整的工作代码
Domain
Field
我只需要在表格中显示每个帖子的信息的页面上使用相同的功能。也就是说,如果你看到10行,那么每行需要一个按钮。
我试着这样做:
<a href="#" v-on:click="confirm = 1" v-show="!confirm" class="btn btn-xs btn-danger">Delete</a>
<span v-if="confirm">
Are you sure?
<a href="{{ route('admin:news:delete', $news->id) }}" class="btn btn-xs btn-danger">Yes</a>
<a href="#" v-on:click="confirm = 0" class="btn btn-xs btn-success">No</a>
</span>
var app = new Vue({
el: '#app',
data: {
confirm: 0
}
});
<a href="#" v-on:click="confirm[{{ $news->id }}] = 1" v-show="!confirm[{{ $news->id }}]" class="btn btn-xs btn-danger">Delete</a>
<span v-if="confirm[{{ $news->id }}]">
Are you sure?
<a href="{{ route('admin:news:delete', $news->id) }}" class="btn btn-xs btn-danger">Yes</a>
<a href="#" v-on:click="confirm[{{ $news->id }}] = 0" class="btn btn-xs btn-success">No</a>
</span>
但它不起作用。
我认为这是一项常见任务,已经多次完成,但我是vuejs的新手,我不知道如何实现它。
请帮帮我!
答案 0 :(得分:1)
由于您将$ news变量存储在组件状态中,因此您必须使用vuejs语法访问新闻变量:在变量名称之前不需要$。
我认为您正在使用v-来显示新闻,但是您尝试插入不存在的PHP变量。
答案 1 :(得分:0)
我已经解决了!!!
我不知道它是如何工作的,但它确实有效!请解释一下。
var app = new Vue({
el: '#app',
data: {
items: {},
activeClass: 'active'
},
created: function () {
var items = this.items;
var news = {!! $news->toJson() !!};
news.data.forEach(function(element) {
items[element.id] = 0;
});
},
methods: {
setItemId1: function (item_id) {
this.activeClass = 'active2';
this.activeClass = 'active3';
var items = this.items;
Object.keys(this.items).forEach(function(key) {
if (item_id == key) {
items[key] = 1;
} else {
items[key] = 0;
}
});
},
setItemId0: function (item_id) {
this.activeClass = 'active2';
this.activeClass = 'active3';
this.items[item_id] = 0;
}
}
});
&#13;
<button v-on:click="setItemId1({{ $news->id }})" v-bind:class="activeClass" v-show="!items[{{ $news->id }}]" class="btn btn-xs btn-primary">Delete</button>
<span v-if="items[{{ $news->id }}]">
<a href="{{ route('admin.news.delete', $news->id) }}" class="btn btn-xs btn-success">Yes</a>
<a href="#" v-on:click="setItemId0({{ $news->id }})" class="btn btn-xs btn-danger">No</a>
</span>
&#13;