Я встроил большой svg в представление шаблона. Все элементы svg имеют идентификаторы, соответствующие guid для записей в хранилище данных sproutcore.
Теперь у меня есть «выбранная» логическая переменная для каждой записи.
Я хочу настроить соответствующий элемент svg записи всякий раз, когда свойство selected выбрано между True и False. Представление должно отражать изменения свойства slected записи.
Я не могу понять, как настроить привязки / наблюдатели, чтобы сделать это. Если бы я сам собрал svg с sc для каждой записи, я бы знал, как настроить привязки. Но я не знаю, как создавать привязки, когда у вас уже есть svg.
код модели:
App.Node = SC.Record.extend(
name : SC.Record.attr(String),
value : SC.Record.attr(String),
selected: SC.Record.attr(Boolean),
}),
смотреть код:
App.svg_picture = SC.View.design({
childViews: 'svgpicture'.w(),
layout: { left:12, right:12, top:12, bottom:12},
svgpicture: SC.TemplateView.create({
/**
* settings.
*/
templateName: 'svgtest2',
nodeBorderColorSel: '#FFB60B',
nodeColorSel: 'yellow',
/**
* Event handling code.
*/
....
svg.handlebar пример:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="manifold" xmlns:xlink="http://www.w3.org/1999/xlink" >
tank_1</text>
<circle cy="25" cx="70" r="20" id="tank_1" strokewidth:5; fill:none; " />
<circle cy="25" cx="120" r="20" id="tank_10" strokewidth:5; fill:none; " />
<circle cy="25" cx="170" r="20" id="tank_11" strokewidth:5; fill:none; " />
... etc...