我有一个控制器,我写的,我在多个地方使用我的应用程序ng-include和ng-repeat,就像这样:
<div
ng-repeat="item in items"
ng-include="'item.html'"
ng-controller="ItemController"
></div>
Run Code Online (Sandbox Code Playgroud)
在控制器/模板中,我希望item价值存在,而整个事物都围绕着这个想法.但是,现在,我需要以稍微不同的方式使用控制器,没有ng-repeat,但仍然需要能够传入item.我看到ng-init并认为它可以做我需要的,像这样:
<div
ng-init="item = leftItem"
ng-include="'item.html'"
ng-controller="ItemController"
></div>
<div
ng-init="item = rightItem"
ng-include="'item.html'"
ng-controller="ItemController"
></div>
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有奏效.任何人都有任何想法如何在像这样的单一实例中传入变量的范围?
编辑:上面的控制器正在加载leftItem和rightItem值,如下所示:
.controller('MainController', function($scope, ItemModel) {
ItemModel.loadItems()
.then(function(items) {
$scope.$apply(function() {
$scope.leftItem = items.left;
$scope.rightItem = items.right;
});
});
});
Run Code Online (Sandbox Code Playgroud) javascript angularjs angularjs-ng-repeat angularjs-ng-include angularjs-ng-init
假设我的模式看起来像这样:
{
field: [{
subDoc: ObjectId,
...
}],
...
}
Run Code Online (Sandbox Code Playgroud)
我有一些ObjectIds(用户输入)列表,我如何得到这些特定ObjectIds的计数?例如,如果我有这样的数据:
[
{field: [ {subDoc: 123}, {subDoc: 234} ]},
{field: [ {subDoc: 234}, {subDoc: 345} ]},
{field: [ {subDoc: 123}, {subDoc: 345}, {subDoc: 456} ]}
]
Run Code Online (Sandbox Code Playgroud)
并且用户给出的id列表是123, 234, 345,我需要计算给定的id,所以结果近似于:
{
123: 2,
234: 2,
345: 2
}
Run Code Online (Sandbox Code Playgroud)
最好的方法是什么?
我需要为集合中的每个用户获取集合中的最新文档。例如,假设我有这样的数据:
[
{ user: "bob", time: ISODate("Sat, 24 Mar 2012 05:52:21 +0000"), value: "a" },
{ user: "bob", time: ISODate("Sun, 25 Mar 2012 05:52:21 +0000"), value: "b" },
{ user: "joe", time: ISODate("Sat, 24 Mar 2012 05:52:21 +0000"), value: "c" },
{ user: "bob", time: ISODate("Mon, 26 Mar 2012 05:52:21 +0000"), value: "d" },
{ user: "joe", time: ISODate("Sun, 25 Mar 2012 05:52:21 +0000"), value: "e" }
]
Run Code Online (Sandbox Code Playgroud)
查询后,我想找回这些条目:
[
{ user: "bob", time: ISODate("Mon, 26 Mar 2012 05:52:21 +0000"), …Run Code Online (Sandbox Code Playgroud)