cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - angular ng-repeat menukar warna latar belakang sesuatu


Seperti yang ditunjukkan dalam gambar, 5 blok di atas adalah output dalam gelung menggunakan ng-repeat Bagaimana untuk menyedari bahawa apabila blok tertentu (seperti blok 2). diklik, latar belakang blok Warna berubah kepada merah? Warna blok lain kekal tidak berubah.
Terima kasih atas nasihat.

为情所困为情所困2810 hari yang lalu830

membalas semua(4)saya akan balas

  • 大家讲道理

    大家讲道理2017-05-15 17:00:27

    Terlalu banyak kaedah, ng-click, ng-class, arahan boleh dilaksanakan
    Ini adalah kaedah langsung, untuk rujukan sahaja
    html:

    <p>
        <span ng-class="{'selected':selected==s}" ng-repeat="s in list" ng-bind="s" ng-click="changeStatus(s)"></span>
    </p>

    js

    $scope.list = [1,2,3,4,5];
    $scope.changeStatus = function(index){
        $scope.selected = index;
    }
    

    balas
    0
  • 黄舟

    黄舟2017-05-15 17:00:27

    Tambah acara klik. Lulus $index dan $event bagi gelung semasa. Maka tidak mengapa untuk mengendalikannya sendiri melalui jq sudut.

    balas
    0
  • phpcn_u1582

    phpcn_u15822017-05-15 17:00:27

    Beri anda kod siap sedia:
    HTML

    <p class='options'>
        <span class='option' ng-class="{'selected':s._selected}" ng-repeat="s in orderStatus" ng-bind="s.l" ng-click="clickStatus(s)"></span>
    </p>

    JS

    $scope.clickStatus = function(prop) {
        prop._selected = !prop._selected;
    };

    CSS

    .option{display:inline-block;border:1px solid green;padding:.25em;margin:.5em .5em 0 0;}
    .option.selected{background:green;color:white;}

    Saya bercadang untuk menulis arahan untuk melakukan ini

    balas
    0
  • 世界只因有你

    世界只因有你2017-05-15 17:00:27

    http://runjs.cn/detail/yfnwk6ho

    balas
    0
  • Batalbalas