Сообщение от 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>
Хоть и меняется с каждым разом, но на внешнее представление никак не влияет.