【问题标题】:Vue.js - changing elements when I don't know how many there will beVue.js - 当我不知道会有多少时改变元素
【发布时间】:2019-05-11 18:15:40
【问题描述】:

我已经使用 jQuery 很长时间了,现在我正在尝试切换到 Vue.js。我有一个从数据库表中获取的帖子列表,当我单击每个帖子时,我需要执行一些操作。我不知道会有多少帖子,可能是 1000 或 10,000 个帖子。使用 jQuery 似乎很容易做到这一点,但我将如何使用 Vue.js 做到这一点?

点击帖子时

  1. 被点击元素的背景颜色变为红色
  2. 内部带有“bell-icon”类的元素被添加了“摇晃”类
  3. 最后,我展示了一个 id 为“#bell-modal”的铃声模式

这是我用 jQuery 制作的。附言我正在使用 Laravel 框架。

PHP/HTML

$rows = Posts::all();

@foreach($rows as $row)
    <div class="row">

        {{ $row->name }}
        <span class="ring-bell">
            <i class="material-icons bell-icon bell-id-{{ $row->id }}">ring_bell</i>
        </span>

    </div>
@endforeach

Javascript

$( ".ring-bell" ).click(function() {
    var bell_id = $( this ).data("bell-id");

    $( this ).css( "background-color", "blue" );
    $(".bell-id-" + bell_id).addClass("shaking");
    $("#bell-modal").show();
});

【问题讨论】:

  • 您尝试过什么,具体遇到了什么问题? (在此处发布以提高您的问题的质量)。我认为vue教程足以回答这种问题。

标签: javascript jquery vue.js


【解决方案1】:

它最终看起来像这样:

vue的javascript部分:

data:{
  posts:[] // all of your posts as a JSON object...
}
methods:{
  myMethod:function(){...}
}

html:

<div @click="myMethod" v-for="(p,index) in posts" :key="index">

【讨论】:

    猜你喜欢
    • 2013-05-02
    • 2020-11-22
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 2020-10-03
    • 2020-03-25
    • 2020-01-12
    • 1970-01-01
    相关资源
    最近更新 更多