2015-04-27 2 views
3

У меня есть некоторые элементы, которые создаются динамически, и каждый элемент имеет другой ng-href.AngularJs if statement в ng-href

Я хочу дать разные ссылки в соответствии с некоторыми элементами.

Когда я пытаюсь написать функцию в ng-href, она отправляет страницу для работы в URL-адресе, поэтому она не работает.

Я пытаюсь сделать что-то подобное;

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

       </a> 
     ....... 

Какой метод я должен использовать для создания элемента с различными ng-href?

ответ

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> 
+1

условный оператор не работает, он посылает на «м?„Link1“:„link2“» в URL – user4773604

+0

где вы заявляете и определить м объем? –

3

Вы должны использовать переменную для ссылки

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

затем

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

Демо: Fiddle

2

Просто делайте это очень просто.

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