2013-12-16 3 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}} 

Он будет отображать "Foo" правильно, но когда я изменить его, в onAfterChange я получаю data объект вместо TheObject. Могу ли я добавить что-то к {{scope}} для достижения изменения области для onAfterChange?
(The {{for}} тег имеет такое поведение, но я не могу цикл по одному объекту.)

+1

Вы говорите: «на {{}} для тега этого поведения, но я не может цикл по одному объекту ». Но он не должен быть массивом. Вы можете сделать {{для 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 «Рендер заданного шаблона для данного объекта, или перебирать данный массив»

Смежные вопросы