Vue JS 条件渲染
Vue JS Conditional Rendering
我有一个 Icon.vue 文件,如下所示:
<template>
<div class="book-item Icon--container Icon--{{active}}">
<a href="{{slug}}">
<img v-bind:src="path" transition="fadein" class="img-responsive"/>
</a>
<template v-if="name">
<div class="info">
<h4>{{name}}</h4>
</div>
</template>
<template v-if="remove">
<div class="delete">
<a href="#">
<i class="fa fa-trash"></i>
</a>
</div>
</template>
<template v-if="edit">
<div class="edit">
<a href="#" class="cta purple">Edit</a>
</div>
</template>
<template v-if="view">
<div class="view">
<a href="#" class="cta purple">View</a>
</div>
</template>
</div>
</template>
<script>
export default
{
props:{
info: {},
remove: {},
edit: {},
view: {},
active: {default:'show'},
path: {default:''},
name: {default:'Icon name'},
slug: {default:'#'},
},
data: function() {
return {}
},
methods:{},
events: {},
ready:function(e)
{
},
created:function(e)
{
}
};
</script>
也可用于 pastebin
如您所见,其中有一些逻辑用于以下内容:
- 姓名
- 移除
- 编辑
- 查看
我正在使用 Laravel 并从我的 blade 模板传递变量,但是如何在 blade 模板中将 if 设置为 true。
例如:
<icon path="{{url('img/admin/add.png') }}" name="" remove="remove"></icon>
不添加移除逻辑。如果可能的话,我该怎么做?
谢谢
要首先从组件添加逻辑,您需要将事件绑定到该组件的元素,然后在其中利用 methods
(https://vuejs.org/guide/events.html)。
模板应如下所示:
<icon
path="{{url('img/admin/add.png') }}"
name=""
v-on:click="remove"></icon>
在脚本中:
methods: {
remove: function () {
// Do something to remove
}
}
祝你好运!
我有一个 Icon.vue 文件,如下所示:
<template>
<div class="book-item Icon--container Icon--{{active}}">
<a href="{{slug}}">
<img v-bind:src="path" transition="fadein" class="img-responsive"/>
</a>
<template v-if="name">
<div class="info">
<h4>{{name}}</h4>
</div>
</template>
<template v-if="remove">
<div class="delete">
<a href="#">
<i class="fa fa-trash"></i>
</a>
</div>
</template>
<template v-if="edit">
<div class="edit">
<a href="#" class="cta purple">Edit</a>
</div>
</template>
<template v-if="view">
<div class="view">
<a href="#" class="cta purple">View</a>
</div>
</template>
</div>
</template>
<script>
export default
{
props:{
info: {},
remove: {},
edit: {},
view: {},
active: {default:'show'},
path: {default:''},
name: {default:'Icon name'},
slug: {default:'#'},
},
data: function() {
return {}
},
methods:{},
events: {},
ready:function(e)
{
},
created:function(e)
{
}
};
</script>
也可用于 pastebin
如您所见,其中有一些逻辑用于以下内容:
- 姓名
- 移除
- 编辑
- 查看
我正在使用 Laravel 并从我的 blade 模板传递变量,但是如何在 blade 模板中将 if 设置为 true。
例如:
<icon path="{{url('img/admin/add.png') }}" name="" remove="remove"></icon>
不添加移除逻辑。如果可能的话,我该怎么做?
谢谢
要首先从组件添加逻辑,您需要将事件绑定到该组件的元素,然后在其中利用 methods
(https://vuejs.org/guide/events.html)。
模板应如下所示:
<icon
path="{{url('img/admin/add.png') }}"
name=""
v-on:click="remove"></icon>
在脚本中:
methods: {
remove: function () {
// Do something to remove
}
}
祝你好运!