используя 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"
что мне не хватает?
Вы не можете связать имя атрибута с помощью {{}}
Углового выражения. Вместо этого попробуйте это с помощью ng-href
:
<ion-item ng-href="{{pageName}}.html"></ion-item>
Более подробная информация в этой статье Angular ng-href
Спасибо за ответ! основанный на вашем ответе, я решил использовать 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>
Я не уверен, но вы можете попробовать написать функцию 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);
}