cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - ng-if mentakrifkan kaedah dan mengembalikan rentetan, mengapa ia salah?

Ini adalah perkara yang betul untuk ditulis

<li ng-repeat="(x, y) in item" ng-if="x!='a'"></li>

Menulis seperti ini akan mengeluarkan segala-galanya, ng-jika tidak dilaksanakan

<li ng-repeat="(x, y) in item" ng-if="test()"></li>

...

$scope.test = function(){
    return "x!='a'"
}
PHP中文网PHP中文网2792 hari yang lalu573

membalas semua(2)saya akan balas

  • 漂亮男人

    漂亮男人2017-05-15 17:06:14

    Pertama, anda tidak memasukkan x masuk, dan kedua, perkara yang anda kembalikan ialah rentetan, dan rentetan itu sentiasa betul. Cuba tulis seperti ini:

    <li ng-repeat="(x, y) in item" ng-if="test(x)"></li>
    
    $scope.test = function(x){
        return x!='a';
    }

    balas
    0
  • 为情所困

    为情所困2017-05-15 17:06:14

    Biar saya beritahu anda satu konsep Perkara dalam ng-if dipanggil ungkapan sudut, dan sudut akan menghuraikan ungkapan ini.
    "x!='a'" sebenarnya $scope.x != 'a', ini $scope ialah skop yang dijana oleh ng-repeat.
    Berikut test() sudah tentu akan dihuraikan menjadi $scope.test() Tiada kaedah ditemui dalam skop ngRepeat, jadi saya menemui kaedah anda daripada skop induk, dan kemudian kaedah anda mengembalikan rentetan, jadi penghakimannya adalah sentiasa true.

    balas
    0
  • Batalbalas