【问题标题】:AngularJS - Create Multidimensional ArrayAngularJS - 创建多维数组
【发布时间】:2016-08-03 10:13:04
【问题描述】:

使用一个拖放插件来传递数据,ondrop 事件获取数据如下所示

Ctrl

var streamArr = [];
$scope.onDrop = function (data, dragElement, dropElement, event) {
    streamArr.push({'userId':userId,'divid':divId,'userName':userName,'streamingState':$rootScope.route});
});

输出

10
divPictureBox00
User1
live

现在,每当用户放下东西时,我都需要将数据推送到一个数组中,这样生成的项目就会如下所示

streamArr: [
{userId: 10, divId: 'divPictureBox00', userName: 'User1', streamingState:'live'},
{userId: 11, divId: 'divPictureBox01', userName: 'User2', streamingState:'live'},
{userId: 12, divId: 'divPictureBox02', userName: 'User3', streamingState:'recorded'},
{userId: 10, divId: 'divPictureBox00', userName: 'User1', streamingState:'live'},
]

但数据并未被推送到该数组中。我该怎么办?

【问题讨论】:

    标签: javascript arrays angularjs multidimensional-array


    【解决方案1】:

    那是因为您自始至终都在处理同一个对象。每次调用函数时尝试创建一个新对象,然后将对象推送到数组中。

    var streamArr = [];
    $scope.onDrop = function (data, dragElement, dropElement, event) {
    var obj = new Object();
    obj.userId = userId;
    obj.divId = divId;
    obj.userName = userName;
    obj.streamingState = $rootScope.route;
    
    streamArr.push(obj);
    

    });

    【讨论】:

    • 创建多个对象,例如[Object { userId=1480, divId="divPictureBox00", userName="User1"}, Object { userId=1480, divId="divPictureBox00", userName="User1"}, Object { userId=1480, divId="divPictureBox01", userName="User2"}]。如何制作成单个对象?
    猜你喜欢
    • 1970-01-01
    • 2011-08-19
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    相关资源
    最近更新 更多