cuốn sách gpt4 ai đã làm

javascript - 通过 $filter 创建和使用新的 `filter`

In lại Tác giả: Walker 123 更新时间:2023-11-28 01:40:44 25 4
mua khóa gpt4 Nike

đọcMastering Web Development with AngularJS ,我正在尝试创建并使用一个使用 $filter 模块/关键字的新过滤器。

HTML



<đầu>
Tên
Description



{{item}}




JavaScript

angular.module("myApp", [])
.filter("trim", function($filter) {
var limitToFilter = $filter("limitTo");

return function(input, limit) {
console.log("input:", input, "limit:", limit);
if(input.length > limit) {
return limitToFilter(input, limit-3) + "...";
}
return input;
};
});

function MyCtrl($scope) {
$scope.backlog = ["asdfasdf", "BBBBBBBBB", "CCCCCCC",
"DDDDDDD", "EEEE"];
}

我希望显示每个 $scope.backlog 项的第一个字符 (4-3 = 1)。但它似乎打印出了 $scope.backlog 中第一项的第一个字符,这对我来说没有意义。

http://jsfiddle.net/9Q6Sk/

câu trả lời hay nhất

我能够让您的代码正常工作,但没有使用内置的 limitTo 过滤器。这可能是 1.2.1 版本的 Angular 的一个错误,但我可以让它在他们的示例中工作。我将进一步调查。

我对您的代码所做的第一个更改是将过滤器从 ng-lặp lại 移至实际项目。根据您的描述,您需要每个 backlog 项目的第一个字符,而不是第一个 backlog 项目。

HTML

                    
{{ item | trim:4 }}

JavaScript

angular.module("myApp", []).filter("trim", function($filter) {

return function(input, limit) {
if(input.length > limit) {
return $filter('limitTo')(input, limit-3);
}
return input;
};
});

我将继续调查为什么 limitTo 不起作用,即使只是单独应用也是如此。

gia hạn

tôi đã tìm thấy nó limitTo 不起作用的原因。您将 Angular 1.0.1 作为外部依赖项,从而覆盖了 1.2.1。 1.0.1 不包含 limitTo 过滤器。
看看这个vĩ cầm一个工作示例

关于javascript - 通过 $filter 创建和使用新的 `filter`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20958778/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress