我有一些动态创建的元素,每个元素都有不同的ng-href。
我想根据一些元素给出不同的链接。
当我尝试在ng-href中编写函数时,它会将页面发送到url中的函数,因此它不起作用。
我尝试做这样的事情;
.......
<a
ng-href='if(m){#linkOne} else {#linkTwo}'
ng-click='test(type);'>
</a>
.......
我应该使用哪种方法来创建具有不同ng-href的元素?
答案 0 :(得分:16)
你可以试试这个
<a ng-href="{{m ? '#linkOne':'#linkTwo'}}" ng-click="test(type)">your link</a>
答案 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>