1

在我的指令中,我有以下代码:

// hide all drodowns with this attribute
$(document).find('[dropdown]').each(function (index) {

    if ($(this).is(':visible')) {
        var a =  $(this).attr('ng-show');
        ???
    }
});

在问号的地方,我想做以下事情:获取ng-show属性的值并将该值设置为 false。我从 jQuery 得到的值例如是这样的showActionsDropdown:这个值是我范围内的一个变量。

我想知道的是如何将值更改showActionsDropdown为 true。

4

2 回答 2

3

我发现我正在寻找。这是我完成它的方式,使用$parse

$(document).find('[dropdown]').each(function (index) {

    if ($(this).is(':visible')) {
        var attrValue = $(this).attr('ng-show');

        var model = $parse(attrValue); // note: $parse is injected in the ctor
        model.assign(scope, false);
    }
});
于 2013-06-14T07:58:30.327 回答
0

像这样简单尝试

if ($(this).is(':visible')) {
     var a =  $(this).attr('ng-show');        
     $(this).attr('ng-show','false');        
}

像这样直接为ng-show赋值,或者你可以直接这样做

if ($(this).is(':visible')) {
     var a =  $(this).attr('ng-show');        
     $(this).hide();        
}
于 2013-06-14T07:15:00.013 回答