对于myLongString
,我想通过
(1)保留第一个y
字符和(2)使其全部为小写
HTML
<body ng-controller="MyCtrl">
<span>{{myLongString | limitTo:5 | lowercase}}</span>
</body>
的JavaScript
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.myLongString = "EEEEEEEEEEEE";
$scope.limitTo = function(x, y) {
console.log("x:", x, "y:", y);
x.slice(0, y);
}
$scope.lowercase = function () {
$scope.myLongString = $scope.myLongString.toLowerCase();
}
}
文字全部都是低级的,但是我看不到前5个字符的切片。另外,console.log
没有出现。
为什么?
答案 0 :(得分:3)
答案 1 :(得分:1)
只需创建filter
,例如:
angular.module('myApp').
filter('substring', function(){
return function(str, length){
return str.substring(0, length);
};
});
答案 2 :(得分:0)
我不知道Angular,但让它发挥作用:
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.myLongString = "EEEEEEEEEEEE";
//No more needed here
}
myApp.filter('limitTo', [ function() {
return function(str, size) {
return str.slice(0, size);
};
}]);
请注意,您的lowercase
转换无效,正在运行的转换是内置的。
小提琴:http://jsfiddle.net/edgarinvillegas/r9MTc/11/
干杯