Hier ist eine Richtlinie, die den unbestimmten Zustand auf Kontrollkästchen Griffe:AngularJS Brauch für ein ng-unbestimmtes Attribut Richtlinie über Kontrollkästchen
.directive('ngIndeterminate', function() {
return {
restrict: 'A',
link: function(scope, element, attributes) {
attributes.$observe('ngIndeterminate', function(value) {
$(element).prop('indeterminate', value == "true");
});
}
};
})
Dann wird zum Beispiel mit diesen Daten:
$scope.data = [
{name: 'foo', displayed: 2, total: 4},
{name: 'bar', displayed: 3, total: 3}
];
würden Sie einfach brauchen:
<ul ng-repeat="item in data">
<li>
<input type="checkbox" ng-indeterminate="{{item.displayed > 0 && item.displayed < item.total}}" ng-checked="item.displayed > 0" />
{{item.name}} ({{item.displayed}}/{{item.total}})
</li>
</ul>
Gibt es eine Möglichkeit, den ng-unbestimmten Ausdruck ohne th zu schreiben Die Doppel-locked Notation, genau wie die native ng-checked?
ng-indeterminate="item.displayed > 0 && item.displayed < item.total"
Ich habe versucht:
.directive('ngIndeterminate', function($compile) {
return {
restrict: 'A',
link: function(scope, element, attributes) {
attributes.$observe('ngIndeterminate', function(value) {
$(element).prop('indeterminate', $compile(value)(scope));
});
}
};
})
Aber ich erhalte den folgenden Fehler:
Looking up elements via selectors is not supported by jqLite!
Here is a fiddle Sie können mit spielen.
So etwas wie das? http://jsfiddle.net/d9rG7/1/ –