【问题标题】:Vue JS Conditional RenderingVue JS 条件渲染
【发布时间】:2016-12-16 18:56:42
【问题描述】:

我有一个 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 并从刀片模板中传递变量,但是如何在刀片模板中将 if 设置为 true。

例如:

<icon path="{{url('img/admin/add.png') }}" name="" remove="remove"></icon>

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

谢谢

【问题讨论】:

    标签: javascript vue.js vue-component


    【解决方案1】:

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

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2021-04-09
      • 2021-11-14
      • 2020-09-24
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 2021-06-20
      • 2021-11-10
      • 2018-08-10
      相关资源
      最近更新 更多