Показать сообщение отдельно
  #8 (permalink)  
Старый 26.02.2015, 08:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,206

Сообщение от MetaDriver
gRepeat не хочет выводить"дубликаты"
А мне вот не дает пока плюсануть...

Твои исследования сподвиги меня продолжить изыскания в этом вопросе.
Вот полностью рабочий вариант, как можно сделать с "дубликатами"...

<!DOCTYPE html>
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<!--
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
angular.module('test', [])
	.controller(
		'ParentCtrl', 
		[
			'$scope', 
			'$rootScope',
			function($scope, $rootScope) {
				$scope.data = [
					{name: 0},
					{name: 1},
					{name: 2}
				];
				$scope.$on('something', function(event, data) {
					$scope.data.push({name: "Scope: " + data});
				});
				$rootScope.$on('something', function(event, data) {
					$scope.data.push({name: "rootScope: " + data});
				});
			}
		]
	)
	.controller(
		'ChildCtrl', 
		[
			'$scope', 
			'$rootScope',
			function($scope, $rootScope) {
				$scope.value = "from grandson";
				$scope.emit = function() {
					// вверх!
					$scope.$emit('something', $scope.value); 
				}
			}
		]
	);
</script>
</head>
<body ng-app="test">
    <div ng-controller="ParentCtrl" class="ng-scope" style="background-color: Silver">
        <span>{{data.length}}</span>
		<table class="table" style="background-color: White">
			<tbody>
				<tr ng-repeat="task in data">
					<td>
						{{task.name}}
					</td>
				</tr>
			</tbody>
		</table>
        <div ng-controller="ChildCtrl" class="ng-scope" style="background-color: Green">
            <button ng-click="emit();">Emit</button>
        </div>
    </div>
</body>
</html>
Ответить с цитированием