2013-12-16 114 views
3

我有非常嵌套的数据,所以我加了一个{{scope variable}}...{{/scope}}标签,它什么也不做,但变化范围:更改onAfterChange的范围jsViews

scope: function (newScope) { 
    return this.tagCtx.render(newScope); 
} 

到目前为止是这种情况,但是本示例代码中有一个问题在我用来将数据推送回服务器的onAfterChange中。

在初始化:

data.Foo.Bar.TheObject = new MyObject('Foo'); // has "Name" property set to "Foo" 

在模板:

{{scope Foo.Bar.TheObject}} 
    <input type="text" data-link="Name" /> 
{{/scope}} 

它会显示“富”正确的,但是当我改变它,在onAfterChange我得到的data对象,而不是TheObject。我可以向{{scope}}添加一些内容以实现onAfterChange的范围更改吗?
(该{{for}}标签有这种行为,但我不能遍历一个对象。)由于在评论上述

+1

你说:“在{{了}}标签有这种行为,但我不能在一个单一的对象循环”。但它不一定是一个数组。您可以{{for some.object}} ...请参阅http://www.jsviews.com/#fortag“为给定对象渲染指定模板,或遍历给定数组” – BorisMoore

+0

对不起,我显然误解了那么'{{for}}'标签,谢谢你的澄清。但为了完整起见,是否可以改变标签的范围行为? –

+0

我会尽快在文档中介绍这种情况。如果你愿意,你可以在JsViews GitHub项目上创建一个关于这个问题的问题,也包括上面的完整示例,或者一个jsfiddle,说明你认为现在不能按预期工作吗?谢谢 – BorisMoore

回答

0

,该{{for}}标签确实迎合你想要移动当前数据上下文情景(什么mrs_sheep指向'范围')到不同的对象(或数组)。你可以做{{for my.path.to.some.objectOrArray}} - 而且目标不一定是数组。

http://www.jsviews.com/#fortag“渲染给定对象指定的模板,或迭代给定的数组在”