Angular JS href生成

时间:2015-10-28 00:20:49

标签: javascript html angularjs ionic-framework

使用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}}
那说以下内容对我来说很好,链接是&#34; mypage.html&#34;:

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

我错过了什么?

3 个答案:

答案 0 :(得分:1)

您无法通过{{}} Angular表达式绑定属性名称。 而是使用ng-href

尝试此操作
<ion-item ng-href="{{pageName}}.html"></ion-item>

Angular ng-href article

的详细信息

答案 1 :(得分:0)

我不确定但您可以尝试编写init函数并以此方式执行此操作。 (请检查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);
}

答案 2 :(得分: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>