angular.js - ng-if 定义一个方法,返回字符串,为什么不对
PHP中文网
PHP中文网 2017-05-15 17:04:14
0
2
537

这样写是对的

<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'"
}
PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(2)
漂亮男人

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';
}
为情所困

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan