我的ld客户端有这个指令。我尝试在ng-repeat中使用它,但它不会工作。这个有什么问题?我怎样才能使它发挥作用?
尝试在ng-repeat及其工作之外添加指令。
ldClient是其他模块中的api变量,它根据标志变量返回true或false。
实际上它甚至没有评估指令,就像它在ng-repeat
中时甚至没有调用它一样
app.directive('flag', function (utilService) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
ldclient.on('ready', function() {
var flag = false;
console.log(element);
flag= ldclient.variation(attrs.flag, false);
if(flag == false){
element.remove();
}
});
}
}
});
答案 0 :(得分:0)
如果ldclient在ng-repeat所在的范围内,那么你可以添加scope:true并使用scope.ldclient.on('ready')等。
试试这个:
app.directive('flag', function (utilService) {
return {
restrict: 'A',
scope: true,
link: function (scope, element, attrs) {
scope.ldclient.on('ready', function() {
var flag = false;
console.log(element);
flag= scope.ldclient.variation(attrs.flag, false);
if(flag == false){
element.remove();
}
});
}
}
});
这可确保您的指令将在放置它的DOM中共享范围。