javascript - Vue JS 条件渲染

标签 javascript vue.js vue-component

我有一个 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>

不添加删除逻辑。如果可能的话,我该如何去做?

谢谢

最佳答案

要首先从组件添加逻辑,您需要将事件绑定(bind)到该组件中的元素,然后利用其中的方法 ( 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
  }
}

祝你好运!

关于javascript - Vue JS 条件渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38872587/

相关文章:

javascript - 使用 nodemailer 和 smtp 无需身份验证发送邮件

javascript - 使用 Kinetic.js 创建矩形的放置区域

javascript - 如何在 Angular 中编译包含指令的字符串; $compile 和 $interpolate 似乎不起作用

json - Typescript 提示导入的 json 模块缺少分号

node.js - 找不到页面 "/"路由

javascript - 创建选择表上所有复选框的最佳方法

javascript - 如何在Vue项目中使用Chance js?

javascript - React 中的回调参数如何从子组件传递到父组件?

javascript - 在 Webpack 中使用 Bootstrap 的首选方式

javascript - 如何在 Vuetify 中使用 Dialog 连接表记录