AngularJs if ng-href中的语句

时间:2015-04-27 06:26:52

标签: javascript angularjs model-view-controller

我有一些动态创建的元素,每个元素都有不同的ng-href。

我想根据一些元素给出不同的链接。

当我尝试在ng-href中编写函数时,它会将页面发送到url中的函数,因此它不起作用。

我尝试做这样的事情;

       .......
             <a 
            ng-href='if(m){#linkOne} else {#linkTwo}'
            ng-click='test(type);'>

              </a> 
       .......

我应该使用哪种方法来创建具有不同ng-href的元素?

4 个答案:

答案 0 :(得分:16)

你可以试试这个

<a ng-href="{{m ? '#linkOne':'#linkTwo'}}" ng-click="test(type)">your link</a>

http://jsfiddle.net/54ema4k0/

答案 1 :(得分:3)

您需要为链接使用变量

<a ng-href='{{link}}' ng-click='test(type);'> your link </a>

然后

$scope.$watch('m', function(value){
    $scope.link = value ? 'link1': 'link2';
})

演示:Fiddle

答案 2 :(得分:3)

这样做非常简单。

<a href="{{variable == value ? '#link1' : '#link2'}}">Link</a>

答案 3 :(得分:0)

尝试条件运算符

<a ng-href='m ? "link1" : "link2" ' ng-click='test(type);'> your link </a>

在范围内设置链接值

在你的控制器中,

$scope.dynamic_url = 'somelink'

在视野中,

<a ng-href='dynamic_url' ng-click='test(type);'> your link </a>