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

Сообщение от evgeniy123
Сам фильтр отрабатывает правильно так как тестил
Эти фильтры вообще своеобразный механизм... Такй вот вариант

<!DOCTYPE html>
<html ng-app='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'>
var app = angular.module('app', [
	'appCtrl',
	'appFlt'
]);
angular.module('appCtrl', []).controller(
	'ctrl', 
	[
		'$scope',
		function($scope) {
			$scope.test='';
		}
	]
);
angular.module('appFlt', []).
	filter(
		'fltEmpty', 
		function() {
			return function(input) {
				return input=='';
			};
		}
	).
	filter(
		'fltCss', 
		function() {
			return function(input) {
				var val=(input=='')? 'block': 'none';
				return {display: val};
			};
		}
	);
</script>
</head>
<body ng-controller='ctrl'> 
<input type=text ng-model='test' />
<p ng-hide='{{test|fltEmpty}}'>Поле заполнено!</p>
<p ng-style='{{test|fltCss}}'>Поле пусто...</p>
<p>'{{test}}' отфильтрован как '{{test|fltEmpty}}'</p>
</body>
</html>


Хоть и меняется с каждым разом, но на внешнее представление никак не влияет.
Ответить с цитированием