小编kbj*_*bjr的帖子

角度传递范围到ng-include

我有一个控制器,我写的,我在多个地方使用我的应用程序ng-includeng-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)

但这似乎并没有奏效.任何人都有任何想法如何在像这样的单一实例中传入变量的范围?

编辑:上面的控制器正在加载leftItemrightItem值,如下所示:

.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

39
推荐指数
5
解决办法
8万
查看次数

MongoDB(mongoose)聚合集合中特定ObjectID的计数实例

假设我的模式看起来像这样:

{
    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)

最好的方法是什么?

javascript mongoose mongodb node.js aggregation-framework

3
推荐指数
1
解决办法
5119
查看次数

获取每个用户收集的最新文档

我需要为集合中的每个用户获取集合中的最新文档。例如,假设我有这样的数据:

[
    { 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)

mongodb mongodb-query aggregation-framework

0
推荐指数
1
解决办法
694
查看次数