Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   ng-switch на ссылках (https://javascript.ru/forum/angular/53113-ng-switch-na-ssylkakh.html)

Александр222 21.01.2015 14:42

ng-switch на ссылках
 
Есть набор ссылок в сайдбаре, у каждой из них есть атрибут, значение которого у каждой ссылки разное.
Как привязать ng-switch к этим атрибутам?
Так, чтобы срабатывало при клике на ссылку.

С селектом все просто, а вот с ссылкой не могу понять как.

ksa 03.02.2015 15:21

Александр222, например так...

<!DOCTYPE html>
<html ng-app>
<head>
<script src="http://code.angularjs.org/1.1.4/angular.min.js"></script>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
function myControl($scope) {
	$scope.cases=[
		{attr: 'один', title: 'Первый'},
		{attr: 'два', title: 'Второй'},
		{attr: 'три', title: 'Третий'}
	];
	$scope.selCase=function (Case) {
		$scope.caseText=Case;
	};
};
</script>
</head>
<body ng-controller='myControl'> 
<div id='menu'>
	<a 
		ng-repeat='cas in cases' 
		ng-click='selCase("{{cas.attr}}");' 
		href='javascript:void(0)' 
		data-case='{{cas.attr}}'
	>
		{{cas.title}}
	</a>
</div>
<div id='text' ng-switch on='caseText'>
	<div ng-switch-when='один'>Текст для первого</div>
	<div ng-switch-when='два'>Текст для второго</div>
	<div ng-switch-when='три'>Текст и для третьего</div>
	<div ng-switch-default>Текст просто так</div>
</div>
</body>
</html>

nerv_ 03.02.2015 17:11

ksa, есть более свежие версии ангуляр.
Кроме того, для отмены перехода по ссылке достаточно этого

ksa 03.02.2015 19:57

Цитата:

Сообщение от nerv_
есть более свежие версии ангуляр

Мне для тренировок не принципиально... Они этот вариант на сайте используют.
Цитата:

Сообщение от nerv_
Кроме того, для отмены перехода по ссылке достаточно этого

Я постаринке... :D


Часовой пояс GMT +3, время: 13:37.