Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何创建单独的数据范围及其应用的过滤器?安格拉斯_Javascript_Angularjs - Fatal编程技术网

Javascript 如何创建单独的数据范围及其应用的过滤器?安格拉斯

Javascript 如何创建单独的数据范围及其应用的过滤器?安格拉斯,javascript,angularjs,Javascript,Angularjs,我在练习AngularJS,我在尝试做一个可重用的组件, 在这一步之前,我是用指令方法创建的,我的疑问是: 如何将数据集分离为对服务器的json调用?($http.get) 如何使用输入文本筛选当前控件 var-app=angular.module(“app”,[]); app.directive('list',function(){ 返回{ 限制:'E', 范围:{ 列表:'=set' }, 替换:正确, 控制器:函数(){}, controllerAs:'ctrl', bindToCont

我在练习AngularJS,我在尝试做一个可重用的组件, 在这一步之前,我是用指令方法创建的,我的疑问是:

如何将数据集分离为对服务器的json调用?($http.get)

如何使用输入文本筛选当前控件

var-app=angular.module(“app”,[]);
app.directive('list',function(){
返回{
限制:'E',
范围:{
列表:'=set'
},
替换:正确,
控制器:函数(){},
controllerAs:'ctrl',
bindToController:对,
模板:布局
}
});
//模板(html)
变量布局=“”+
''+
“
    ”+ “
  • ”+ “{item.name}”+ “
  • ”+ “
ul{
列表样式类型:无;
maring:0px;
填充:0px;
}
ul>li{
背景色:天蓝色;
宽度:200px;
填充物:5px10px;
边缘底部:5px;
}
输入[type=“text”]{
宽度:220px;
高度:20px
}

清单1
清单2

要从API获取用户,只需创建一个返回数据的API

app.service('userService', function($http) {
  this.getUser = function() {
    return $http.get('https://randomuser.me/api/').then(function(list) {
      return list.data.results;
    });
  }
});
将此服务注入指令中

app.directive('list', function(userService)
将结果保存在链接函数内的变量中

link: function (scope)
要过滤列表,您可以使用下面帖子中的过滤器

或者,如果名称包含您在输入中写入的字符串,则只显示li元素(请参见下面的代码段)

var-app=angular.module(“app”,[]);
应用程序指令('list',函数(userService){
返回{
限制:'E',
作用域:{},
替换:正确,
模板:布局,
链接:功能(范围){
scope.users=[];
userService.getUser().then(函数(用户){
scope.users.push({name:users[0].name.first});
});
}
}
});
变量布局=“”+
''+
“
    ”+ “
  • ”+ “{item.name}”+ “
  • ”+ “
”; app.service('userService',函数($http){ this.getUser=函数(){ 返回$http.get('https://randomuser.me/api/)。然后(函数(列表){ 返回列表、数据、结果; }); } });
ul{
列表样式类型:无;
maring:0px;
填充:0px;
}
ul>li{
背景色:天蓝色;
宽度:200px;
填充物:5px10px;
边缘底部:5px;
}
输入[type=“text”]{
宽度:220px;
高度:20px
}

清单1
清单2