Ich bin ein Filter-Tokenize implementieren, die ein optionales Argument für das Trennzeichen nehmen kann.geben optionales Argument mit Filtermethode Winkel
Standardmäßig erzeugt der Filter eine durch Kommas getrennte Zeichenfolge der einzelnen Zeichen der angegebenen Eingabe. Wenn das Trennzeichen angegeben wird, werden die einzelnen Zeichen in der Eingabezeichenfolge durch das angegebene Trennzeichen getrennt.
Kein Token zur Verfügung gestellt: (tokenize löst zu einem Komma):
{{"hello world"|tokenize}}
Ergebnisse in:
h,e,l,l,o,,w,o,r,l,d
Token wird bereitgestellt:
{{"hello world"|tokenize:'#'}}
Ergebnisse in:
h#e#l#l#o##w#o#r#l#d.
Das Problem ist, ich bin nicht in der Lage, optionale Argument übergeben und erhalten es, um die Zeichenfolge auf der Grundlage der optionalen Trennzeichen zu trennen.
-Code für html:
<!doctype html>
<html ng-app="myApp">
<head>
<script src="angular.js"></script>
<script src="filter.js"></script>
</head>
<body>
<div ng-controller='HelloController'>
<label>Input</label><input ng-model='greeting'><br><br>
<label>Delimeter</label><input ng-model='delimeter'><br>
<p>{{greeting | tokenize}}(default)</p>
<p>{{greeting| tokenize:arg1}}(with Option)</p>
</div>
</body>
</html>
und mein filter.js Code ist:
angular.module('myApp', [])
.controller('HelloController', function($scope) {
$scope.greeting = "Angular is Awesome";
//$scope.delimeter="#";
})
.filter('tokenize', function() {
return function(value) {
if (angular.isString(value)) {
var abc = [];
abc = value.split('');
value = abc.join();
return value;
} else {
return value;
}
};
});
schau dir @emed an swer unten. "deklariere einen anderen Parameter in deiner Filterfunktion". Danach split auf den optionalen Parameter oder auf ''. – o4ohel
ok, wenn ich zwei Werte eins mit Standardbegrenzer und andere, die mit optionalen Argument kommt, zurückgeben muss. Wie kann das gemacht werden? – Rahila
wie ich muss zwei Ausgaben geben: h, e, l, l, o ,, w, o, r, l, d (Standard) und die andere h # e # l # l # o ## w # o # r # l # d. – Rahila