При использовании обрабочиков событий устанавливаемых через jquery, вы не увидите их череp dev tools, нужно использовать сторонние средства, например, такое.
Мне кажется это не так страшно: если этот код исключительно для данного представления, то можно и там оставить, если его возможно применить в другом представлении, то лучше вынести в отдельный файл и подключать в нужном представлении. Если этот код используется во многих или во всех представлениях, то наверное имеет смысл подключить в родительском представлении.
Сложно понять вашу структуру данных если не обрамлена в code.
Как бы сделал я: сделал бы дерево. В узлах - свойства, если свойство объект - то узел раскрывается и так далее. Вам только нужно сделать редактирование названий узлов, изменение значений в узлах, добавление/ удаление узлов.
Видимо, надо сначала создать элемент соответсвующий вашему svg, а потом проверить его на состав нужного элемента, а затем вставлять в дом. Например, с помощью этого вы можете загрузить svg зная url $(selector).svg(url); Затем смотрите что там есть, и по результатам вставляете в нужное место страницы, или не вставляете.
А что за фатальные недостатки у нокаута при генерации разметки на сервере? Ведь нокаут это как связывающее вещество между моделью, т.е. данными и разметкой, т.е. страницей. Откуда берутся эти обе компоненты ему все равно, его задача просто их связать.
Мне кажется, вам надо создать модель комментариев для страницы и добавить ее к существующей модели. В представлении уже рендерите комментарии.
Второй вариант если на ангуларе, то создаете WEB API контроллер с экшеном который возвращает комментарии в виде json для какой-то конкретной страницы (в экшен например передаете id страницы). Со страницы (т.е. уже с клиента ) выполняете ajax запрос к WEB API экшену контроллера и запрашиваете комментарии к страницы (или к посту) ну и после получения json рендерите средствами ангулара на страницу.