使用Backbone.js和Marionette,js将字符串转换为下划线模板中的变量

时间:2015-05-07 22:13:44

标签: backbone.js marionette underscore.js-templating

我有这个JSON: (对我来说看起来不好,但我无法修改它)

{
  "content": [{
     "block": {
        "params": "{\u0022slider\u0022:\u00221\u0022}",
        },
   }],
}

然后我在我的underscore.js模板中执行了此操作:

  <% _.each(content, function(item){ %>
    <li> 
        <%=item.block.params %>
    </li>
  <% }); %>

它打印一个字符串&#34; {slider:1}&#34; 如何直接在模板中将此字符串转换为变量?

如果无法完成,如何使用CompositeView和ItemView从Marionette完成。

这是我的代码:

MarionetteApp.module("WsApp.List", function(List, MarionetteApp, Backbone,   Marionette, $, _) {
 List.Wss = Marionette.ItemView.extend({
   tagName: "div",
   template: "#ws-list-item", 
 });
 List.Ws = Marionette.CompositeView.extend({
   tagName: "div",
   className: "item",
   template: "#ws-list",
   childView: List.Wss,
   childViewContainer: ".inner-content",
 });
});

由于

找到解决方案: 我必须用脊椎映射响应,也适用于Marionette Serialized数据功能 谢谢大家

Entities.WsCollection = Backbone.Collection.extend({
  url: function() {

    return "/api.php/posts";
  },
  model: Entities.Ws,
  parse: function(response){
  var items = _.map(response.content, function (item, index) {
   return {
     block: item['block'],
     params:JSON.parse(item['block']['params']),
     };
  });
  return items;
},

});

0 个答案:

没有答案