【问题标题】:ng-repeat not working in angularjsng-repeat 在 angularjs 中不起作用
【发布时间】:2023-03-28 20:46:01
【问题描述】:

这是我无法获取值的代码,目前存在三个值但未显示值:

<body ng-controller="bucksbucket_orders">
    <form >
        <li ng-repeat="message in syncfromfbvalues">
            {{message.milk}},{{message.newspaper}},{{message.greens}}</li>
    </form>
</body>

这是我尝试从 firebase 获取的值

values
 |--->greens: "56"
 |===> milk: "56"
 |===>newspaper: "56"

我的 app.js

var fbvalues = new Firebase("https://qwertyuiop.firebaseio.com/values");

$scope.defaultfbvalues = function () {
    fbvalues.set({
        "newspaper": '56',
        "milk": '56',
        "greens": '56'
    });
};

$scope.syncfromfbvalues = $firebaseArray(fbvalues);

我的 plunker 演示:http://embed.plnkr.co/acFOlruX0t4bCIxXohAF/preview

【问题讨论】:

  • 如果您只是在重复中执行{{message}},您会得到什么?
  • 它是否适用于 scope.defaultfbvalues?
  • @ergonaut that won't work defaultfbvalues 是一种向fbvalues 添加内容的方法。不是集合本身。
  • @ste2425 {"$value":"56","$id":"greens","$priority":null} {"$value":"56","$id":"milk","$priority":null} {"$value":"56","$id":"newspaper","$priority":null}
  • 你为什么使用ng-repeat和$firebaseArray而不是$firebaseObject?

标签: javascript angularjs firebase ng-repeat angularfire


【解决方案1】:

AngularFire $firebaseArray 是为使用典型的 Firebase 序列而构建的,其中键的形式为 -J-0FSHRJ913A,通常不显示。

在您的情况下,您需要同时显示 $id 和 $value:

<li ng-repeat="message in syncfromfbvalues">
    {{message.$id}} - {{message.$value}}
</li>

显示:

  • 果岭 - 56
  • 牛奶 - 56
  • 报纸 - 56

【讨论】:

    【解决方案2】:

    变化:

    $scope.defaultfbvalues = function () {
         fbvalues.set({
              "newspaper": '56',
              "milk": '56',
              "greens": '56'
         });
    };
    

    收件人:

    $scope.defaultfbvalues = function () {
         fbvalues.set([{
              "newspaper": '56',
              "milk": '56',
              "greens": '56'
         }]);
    };
    

    fbvalues 是数组“[ ]”

    【讨论】:

    • 很好,它工作正常,但我也想出了其他方法!!! ... $scope.defaultfbvalues = function () { fbvalues.set({ "newspaper": '56', "milk": '56', "greens": '56' }); }; 到 $scope.defaultfbvalues = function () { fbvalues.push({ "newspaper": '56', "milk": '56', "greens": '56' }); }; 将设置值更改为 push 并且您的代码也可以正常工作,但怎么能它将嵌套值创建为 0 ?
    • 我不明白。请再提问?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    • 2016-06-06
    • 2014-03-10
    • 1970-01-01
    相关资源
    最近更新 更多