Угловой JS Href генерируется

0

используя angularjs (+ionic) Я пытаюсь сделать это:

<ion-item menu-close ng-repeat="button in MenuButtons" {{button.type}}={{button.link}}>

в результате я бы ожидал:

<ion-item menu-close ng-repeat="button in MenuButtons" href="mypage.html">

вместо этого я получаю:

<ion-item menu-close="" ng-repeat="button in MenuButtons" {{button.type}}="{{button.link}}" class="item ng-binding" style="">

Моя проблема связана с {{button.type}} = {{button.link}}
Тем не менее следующее работает для меня просто отлично, где ссылка "mypage.html":

href={{button.link}} --> href="mypage.html"

что мне не хватает?

  • 1
    angular не создает атрибутов, он только интерпретирует существующие.
Теги:
ionic-framework

3 ответа

1

Вы не можете связать имя атрибута с помощью {{}} Углового выражения. Вместо этого попробуйте это с помощью ng-href:

<ion-item ng-href="{{pageName}}.html"></ion-item>

Более подробная информация в этой статье Angular ng-href

0

Спасибо за ответ! основанный на вашем ответе, я решил использовать ng-if, поскольку я могу или не могу иметь href. поэтому мой код выглядит так

        <span ng-repeat="button in MenuButtons">
        <span ng-if="button.type === 'href'">
            <ion-item menu-close href={{button.link}}>
                <i class={{button.class}}></i> {{button.name}}
        </span>
0

Я не уверен, но вы можете попробовать написать функцию init и сделать это javascriptly. (Пожалуйста, проверьте, чтобы getElementById и setAttribute. Должен быть другой способ.)

<ion-item menu-close ng-repeat="button in MenuButtons" id="{{button.id}}" ng-init="createHref(button)">

$scope.createHref= function(btn){
    document.getElementById(btn.id).setAttribute(btn.type,btn.link);
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню