angularjs - 如何在 Bonita 的自定义小部件中定义角度 js 过滤器
问题描述
我在 BONITA UI 设计器中使用 Angular Js 创建了一个简单的自定义小部件。我在控制器中定义了应用程序控制器我不确定该部分以及它在 BONITA 中的工作方式我还添加了所有资产。
app.filter('startFrom', function() {
return function(input, start) {
start = +start;
return input.slice(start);}})
至
var startFrom= $filter('filter');
startFrom([], function(input, start) {
if (input) {
start = +start;
return input.slice(start);}
return [];});
但是,它似乎无法正常工作。
我想知道我是否错过了某些部分。任何帮助表示赞赏。
提前致谢。模板代码是
<input ng-model="q" id="search" class="form-control" placeholder="Filter text">
<ul>
<li ng-repeat="item in data | filter:q |startFrom:currentPage*pageSize |
limitTo:pageSize">
<div>{{item.firstname}}</div>
</li></ul>
<button ng-disabled="currentPage == 0" ng-click="currentPage=currentPage-1">Previous </button> {{currentPage+1}}/{{numberOfPages()}} <button ng-disabled="currentPage >= getData().length/pageSize - 1" ng-
click="currentPage=currentPage+1"> Next </button>`
控制器是
function sds($scope, $filter) {
var ctrl = this;
$scope.startFrom=0;
$scope.currentPage = 0;
$scope.pageSize = 10;
$scope.data = [
{
"firstname": "Studio",
"userName": "studio"
},
{
"firstname": "Giovanna",
"userName": "giovanna.almeida"
},
{
"firstname": "Daniela",
"userName": "daniela.angelo"
},
{
"firstname": "Walter",
"userName": "walter.bates"
},
{
"firstname": "Giovanna",
"userName": "giovanna.almeida"
},
{
"firstname": "Daniela",
"userName": "daniela.angelo"
},
{
"firstname": "user1",
"userName": "user1.name"
},
{
"firstname": "user2",
"userName": "user1.name"
},
{
"firstname": "user3",
"userName": "user1.name"
},
{
"firstname": "user4",
"userName": "user1.name"
}
];
$scope.q = '';
$scope.getData = function () {
return $filter('filter')($scope.data, $scope.q)
}
$scope.numberOfPages=function(){
return Math.ceil($scope.getData().length/$scope.pageSize);
}
for (var i=0; i<65; i++) {
// $scope.data.push("Item "+i);
}
$scope.$watch('q', function(newValue,oldValue){
if(oldValue!=newValue){
$scope.currentPage = 0;
}
}
var startFrom= $filter('filter');
startFrom([], function(input, start) {
if (input) {
start = +start;
return input.slice(start);
}
return [];
}
);
/*
app.filter('startFrom', function() {
return function(input, start) {
start = +start;
return input.slice(start);
}})
*/
}
解决方案
推荐阅读
- javascript - Js 监听特定宽度
- javascript - Javascript缩短字符串并找到句子结尾
- javascript - 单击时如何更改复选框的“已选中”属性?
- mysql - JPA中的CRUD多对一双向关系
- c# - 将功能断点分配给 Windows dll/API 函数调用
- c# - C# LINQ GroupBy 将列表转换为具有一个属性作为值列表的组
- c# - If 语句错误:“无法将类型 'string' 转换为 'bool'”
- node.js - oauth-1.0a 为 Zotero API (NodeJS) 返回 401 的节点包
- hadoop - 蜂巢创建视图问题:内部将数字转换为其他内容
- python - How do I use this callback in Python?