2013-05-27 5 views
0

Почему это не работает?Доступ к размеру родительской области в атрибуте ng-switch директивы

{{shout.user.id}} : {{$parent.me.id}} <!-- Gives: 1 : 1 --> 

<div ng-switch on="shout.user.id"> 

    {{shout.user.id}} : {{$parent.me.id}} <!-- Gives: 1 : 1 --> 

    <a class="btn btn-mini btn-danger pull-right" 
     ng-click="remove($index)" 
     ng-switch-when="$parent.me.id" <!-- THIS doesn't work!? --> 
     ><i class="icon-remove"></i></a> 

</div> 

Я установил и прокомментировал код, чтобы его было легче понять.

Я попытался обернуть shout.user.id и/или $ parent.me.id в фигурные скобки, но это не решило мою проблему.

Если я жестко задал два значения до 1 и 1, работает ng-переключатель, и кнопка отображается.

$ parent, в данном случае это $ rootScope.

ответ

0

Я решил это, используя ng-if вместо этого. Даже не знал, что существует.

0

Как указано в комментариях Disqus к ng-switch page, выясняется, что Angular оценивает значение атрибута ng-switch-when как строку - он не оценивается по области.

Для получения дополнительной информации см. Angular source code, var ngSwitchWhenDirective = ...

Смежные вопросы