2014-11-16 84 views
0

我試圖做一個服務,在WordPress的骨幹,這不得不取一個網址,並從URL得到這個值:爲什麼字符串數組中的字符串數組變換骨幹

["C:\\wamp\\www\\wordpress\/wp-content\/uploads", 
"C:\\wamp\\www\\wordpress\/wp-content\/uploads\/2014", 
"C:\\wamp\\www\\wordpress\/wp-content\/uploads\/2014\/07", 
"C:\\wamp\\www\\wordpress\/wp-content\/uploads\/2014\/08", 
"C:\\wamp\\www\\wordpress\/wp-content\/uploads\/2014\/10", 
"C:\\wamp\\www\\wordpress\/wp-content\/uploads\/2014\/11", 
"C:\\wamp\\www\\wordpress\/wp-content\/uploads\/woocommerce_uploads"] 

我的股票這些信息在一個集合,但問題是,骨幹藉此放於模型(這部分好)的每一個,但如果我問每個模型的價值,我越來越像

0:"c" 
1:":" 
2:"/" 
. 
. 

我不知道爲什麼會發生這種情況以及如何修復,你們誰都知道這個問題的原因?和解決方案?

這是我收集

var CCUFFolder= Backbone.Collection.extend({ 
    url:ajaxurl 
}); 

而取

cCUFFolder.fetch({type:'POST',data:{action: "cuf_get_dirs"}}); 

回答

0

骨幹的型號類型基本上是圍繞對象文本的包裝。當您從字符串中構建模型時,Backbone通過解析鍵/值對的每個字符串來創建每個模型的attributes哈希值 - 這會生成一組字符。你想要做的是建造模型從對象文本:

var collection_source = [ 
    { "Path": "C:\\wamp\\www\\wordpress\/wp-content\/uploads" }, 
    { "Path": "C:\\wamp\\www\\wordpress\/wp-content\/uploads\/2014" }, 
    { "Path": "C:\\wamp\\www\\wordpress\/wp-content\/uploads\/2014\/07" }, 
    { "Path": "C:\\wamp\\www\\wordpress\/wp-content\/uploads\/2014\/08" }, 
    { "Path": "C:\\wamp\\www\\wordpress\/wp-content\/uploads\/2014\/10" }, 
    { "Path": "C:\\wamp\\www\\wordpress\/wp-content\/uploads\/2014\/11" }, 
    { "Path": "C:\\wamp\\www\\wordpress\/wp-content\/uploads\/woocommerce_uploads" }  
]; 

var folder = new CCUFFolder(collection_source); 

console.log(folder.first().get('Path')); 
0

你應該實現parse方法您的收藏:

var CCUFFolder= Backbone.Collection.extend({ 
    url: ajaxurl, 

    parse: function (response) { 
     return _.map(response, function (item) { 
      return { path: item } 
     }); 
    } 
}); 

之後,你可以正確地檢索模式:

cCUFFolder.each(function (model) { 
    console.log(model.get('path'); 
});