Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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 将firebase连接到Angular JS-可能存在json问题_Javascript_Angularjs_Json_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 将firebase连接到Angular JS-可能存在json问题

Javascript 将firebase连接到Angular JS-可能存在json问题,javascript,angularjs,json,firebase,firebase-realtime-database,Javascript,Angularjs,Json,Firebase,Firebase Realtime Database,问题是如何格式化firebase以使用angular。我有一个作为静态视图使用ng的视图。在$scope中,它的定义如下 $scope.standardItems = [{ name: "The Name", sizeX: 2, sizeY: 1, row: 0, col: 0 }, {......etc 但如果我尝试从firebase提供数据,它可能无法工作,因为输出格式不正确。连接似乎很好,我可以添加数据,但firebase添加了自己的id。这是从f

问题是如何格式化firebase以使用angular。我有一个作为静态视图使用ng的视图。在$scope中,它的定义如下

$scope.standardItems = [{
    name: "The Name",
    sizeX: 2,
    sizeY: 1,
    row: 0,
    col: 0
}, {......etc
但如果我尝试从firebase提供数据,它可能无法工作,因为输出格式不正确。连接似乎很好,我可以添加数据,但firebase添加了自己的id。这是从firebase控制台导出数据的方式

{
    "-KdJVcYUXMfeym3jPy04" : {
    "att" : "grid",
    "col" : 0,
    "id" : 1487476528646,
    "name" : "This is a test grid",
    "row" : 0,
    "sizeX" : 2,
    "sizeY" : 1
},
额外的参数并不重要,但嵌套可能很重要。我已使用此命令注销firebase阵列的输出

var todosRef = new Firebase('https://xxxxxxxxxx.firebaseio.com/');
$scope.todos = $firebaseArray(todosRef);
console.log($scope.todos);
我在chrome调试控制台中得到了这个

Array[0]
    0:Object
        $id: "-KjhbuvgtVvFUnbfbmj04"
        $priority:null
        att:"grid"
        col:0
        id:1487476528646
        name:"This is a test grid"
        row:0
        sizeX:2
        sizeY:1
    __proto__
这是使用角度ng repeat的视图中的重要线

<li gridster-item row="item.position[0]" col="item.position[1]" size-x="item.size.x" size-y="item.size.y" ng-repeat="item in todos">
    //..
</li>
  • //..

  • 我的问题是如何将上面静态示例中从控制器传递的内容传递给angular(视图)?如何“打印”从阵列传递到angular的内容?firebase控制台和chrome日志控制台的导出并不完全相同。所有父节点都是唯一的非顺序ID(如-KdJVcYUXMfeym3jPy04),这并没有帮助,因为不清楚如何再次剥离它们,或者如何使用“grid”等词。路径中是否需要通配符?如果需要,是什么?该代码使用静态本地数组工作,因此它完全是关于从firebase读取json的

    好的,我希望这个答案有帮助。这里发布的代码没有问题!Angular js将读取firebase而不做任何更改,chrome控制台和firebase控制台的输出应该看起来像这里一样,即使添加了“-adgadhfe445ggh45”id索引。在我的例子中,我犯了一个语法错误,将ng repeat从控制器中排除,因为它落在外部,并且是结束div

    但至少我们现在知道,我们不需要任何代码来重新格式化firebase