我的用于排序值的指令过滤器仅适用于页面加载。稍后在ng-model
更改不更新集合以及过滤器根本不工作。
如果您发现我的错误,请更正我的演示
是否有人帮我解决问题?
这是我的代码:
app.directive("customGrid", function($timeout,$filter){
return{
scope:{
"func":"&func",
"pages":"=",
"model":"=ngModel" //not updating?
},
template:temp.join(''),
link : function( scope, element, attrs ){
scope.slice = null;
scope.sortIt = function( value ){
console.log( value )
scope.slice = $filter('orderBy')(value, '', true);//works on load
$timeout(function(){
scope.$apply();
})
}
$timeout(function(){
scope.slice = scope.pages.pin;
scope.sortIt( scope.slice );
})
}
}
})
答案 0 :(得分:1)
我已更新了对模糊列表进行排序的示例,问题在于输入框的模型,我们需要更新列表以进行排序。
此外,您需要添加type = "number"
,否则您必须在指令控制器中每次都转换为数字。
var temp = [
"<ul><li ng-repeat='(key,value) in slice track by $index'>",
"<input ng-model=slice[key] type='number' ng-blur=sortIt(slice) /></li></ul>"
]