Rumah > Soal Jawab > teks badan
这样写是对的
<li ng-repeat="(x, y) in item" ng-if="x!='a'"></li>
这样写就是输出全部的,ng-if并没有执行
<li ng-repeat="(x, y) in item" ng-if="test()"></li>
...
$scope.test = function(){
return "x!='a'"
}
漂亮男人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';
}
为情所困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
.