0

我想将一些东西附加到一个 JS 对象,就像你可以push添加到一个数组一样。我知道你不能push对一个对象。所以我正在尝试寻找另一种解决方案。这是完成分页的一种时髦的解决方法。

$scope.showMore = function() {
    $rootScope.resultsObject = parseResults($rootScope.keywordData, $rootScope.limit);
}

那是我遇到问题的代码行。

parseResults()正在使用我的keywordData, 并将其转换为巨大的字符串显示更多

showMore()被调用时,它被分配到resultsObject,从而删除前 2 行数据。我宁愿让它在最后添加 2 行。

以前解决此问题的尝试涉及保留一个正在运行的数组resultsObject,然后我会将push更多结果放入该数组并尝试重新运行它parseResults。这没有用。它会创建额外的列,或将所有数据转储到一个列中。

所以现在我求助于 JS 专家寻求更好的解决方案。

我试过调琴,但它不能正常工作。如果您希望查看更多代码,我确实有一个JSFiddle 。请记住,它不起作用。

更新

也许我的问题出在我的parseResults(). 让我向您展示对象在解析后的实际样子:

resultsObject{
    column0: "column1<br>test1"
    column1: "column2<br>test2-1"
    column2: "column3<br>test3"
    column3: "column4<br>test4"
    column4: "column5<br>test5"
    column5: ""
}

因此,当我附加到 resultsObject 时,我希望它添加到每个值的字符串中。这怎么可能?

4

1 回答 1

1

角度扩展方法应该允许您这样做。

var objectAB = { a: 1, b: 2 },
    objectCD = { c: 3, d: 4 };

var objectABCD = angular.extend(objectAB, objectCD);

console.log(objectABCD);
// { a: 1, b: 2, c: 3, d: 4 }
于 2013-05-15T18:39:43.897 回答