0
我想追加一些JS對象類似於你如何push
到一個數組。 我知道你不能push
到一個對象。所以我試圖找到另一種解決方案。這是一個時髦的解決方法來完成分頁。追加到JS對象
$scope.showMore = function() {
$rootScope.resultsObject = parseResults($rootScope.keywordData, $rootScope.limit);
}
這就是我遇到問題的代碼行。
parseResults()
正在將我的keywordData
,並將其轉換爲列巨型字符串。
當調用showMore()
時,它將被分配到resultsObject
以上,從而刪除前兩行數據。我寧願讓它增加2行到最後。在解決這個
以前曾試圖參與保持什麼是resultsObject
正在運行的陣列,那麼我會更push
結果成陣列&試圖通過parseResults
重新運行它。這沒有奏效。它會創建額外的列,或將所有數據轉儲到一個列中。
所以現在我轉向JS專家尋求更好的解決方案。
我試過了一個小提琴,但它不能正常工作。如果你想看更多的代碼,我確實有JSFiddle。請記住它不起作用。
UPDATE:
也許我的問題是我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,我希望它添加到字符串的每個值。這怎麼可能?
我不知道'extend'方法。我喜歡它的外觀。但是,它並沒有像我所期望的那樣發揮作用。 '$ rootScope.resultsObject = angular.extend($ rootScope.resultsObject,parseResults($ rootScope.keywordData,$ rootScope.limit));' 我相信這是正確的語法。但它只是給了我以前的東西。 – EnigmaRM
很難說出什麼問題,你的小提琴的例子似乎沒有工作。您應該嘗試console.log()輸入參數的值。這可能會給你一些見解,說明爲什麼它不會返回你期望的結果。 –
想想我可能已經意識到我的問題。在ParseResults中,我將鍵分配爲'Column [i]'...並且它以相同的索引開始......我正在覆蓋那裏的東西! grrrrr – EnigmaRM