Javascript “访问”;“东西”;数值单位为ng repeat“;“物中之物”;从控制器使用$filter?
我需要将$filter从我的视图移动到angularjs中的控制器 现在我有一些类似的东西(简化为希望只显示相关的东西): 如何从控制器访问相同的嵌套属性?我正在使用firebase,以确保每个“东西”键都是唯一的标识符 谢谢 编辑:我的对象如下所示:Javascript “访问”;“东西”;数值单位为ng repeat“;“物中之物”;从控制器使用$filter?,javascript,angularjs,firebase,angularfire,Javascript,Angularjs,Firebase,Angularfire,我需要将$filter从我的视图移动到angularjs中的控制器 现在我有一些类似的东西(简化为希望只显示相关的东西): 如何从控制器访问相同的嵌套属性?我正在使用firebase,以确保每个“东西”键都是唯一的标识符 谢谢 编辑:我的对象如下所示: things: { thingID1: { something: 'value'; }, thingID2: { something: 'value' }, ... } 你可以这样称呼
things: {
thingID1: {
something: 'value';
},
thingID2: {
something: 'value'
},
...
}
你可以这样称呼它:
$scope.things = $filter('filter')(unfilteredThings, 'something');
如果要对特定属性进行筛选,可以执行以下操作:
$scope.things = $filter('filter')(unfilteredThings, { thePropertyName: 'something' });
这看起来是正确的答案,但我做错了什么。我在帖子中添加了一个显示对象结构的编辑。似乎我无法获得嵌套的唯一ID值。
filter
filter对数组进行操作,而您的things
变量不是数组,因此这可能是问题所在。因此,您的示例中的某物
将与uniqueID1
匹配,并且您希望获得{thing:'value'}
?这就是你想做的吗?或者你是在试图找到与某物
匹配的值
?我只知道它在视图中发生了什么,所以我将这样描述它:“某物”就是事物。它是深入对象“事物”的一个层次。“things in things”迭代“things”,这给了我唯一的ID(“thing”),然后我可以访问“things”的嵌套属性以用作过滤器。过滤器会显示事物中的某些东西。(很抱歉这听起来有多混乱)编辑:另外,我更新了示例对象,使其更加清晰。我正在尝试遍历“things in things”并访问“things”属性。另外,我应该添加,“things”是$firebaseArray的一个实例,因此它应该作为一个数组来工作。在做了更多的研究之后,看起来我需要使用类似的东西:但我不知道如何确切地使用它。
$scope.things = $filter('filter')(unfilteredThings, { thePropertyName: 'something' });