Я встроил большой svg в представление шаблона. Все элементы svg имеют идентификаторы, соответствующие идентификаторам записей в хранилище данных sproutcore. Теперь у меня есть «выбранное» логическое значение для каждой записи.
Я хочу настроить соответствующий элемент svg записи всякий раз, когда свойство «выбрано» переключается между True и False. Представление должно отражать изменения выбранного свойства записи.
Я не могу понять, как настроить привязки / наблюдения для этого. Если бы я сам построил 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...