Как я могу написать общую логику контроллера Angular JS?

Я использую Angular JS для проверки концепции SPA, который должен иметь возможность обрабатывать динамическое создание форм. Этот проект, по сути, представляет собой приложение в стиле интервью, в котором пользователь будет проходить через несколько экранов, чтобы отвечать на вопросы, которые будут оцениваться сервером. Я пытаюсь написать универсальный контроллер, который может обрабатывать любую страницу интервью, которая получает фактическое содержимое страницы из вызова сервера (представление, очевидно, будет специфичным для страницы). Я могу довольно легко обрабатывать содержимое страницы, просто обернув возвращенные данные в содержащую переменную, так что моему представлению просто нужно получить доступ к этой корневой переменной и пути вниз с помощью JSON.

Пример (pageData является универсальной переменной контейнера):

ng-model="pageData['AccountInput.Address1'].value"

Проблема возникает, когда я хочу интегрировать что-то более сложное, чем просто вывод данных — что-то вроде ngTable для реализации разбиения на страницы или сортировки в стандартной таблице. Логика для этого должна содержаться внутри контроллера. Итак, мой вопрос заключается в том, можно ли сделать мой контроллер достаточно универсальным, чтобы я мог посмотреть на свой ответ JSON и создать один или несколько фрагментов динамического кода в моем контроллере, чтобы создать что-то вроде этого ngTable? По сути, проверьте наличие любых массивов в моем ответе, у которых есть объект свойств, который можно использовать в качестве настроек для таблицы, и пусть контроллер перебирает все JSON, чтобы найти их.

Для справки, вот код, необходимый для ngTable в контроллере по ссылкам выше.

$scope.tableParams = new ngTableParams({
    page: 1,            // show first page
    total: data.length, // length of data
    count: 10           // count per page
});

person Brandon    schedule 09.10.2013    source источник
comment
То, чего вы хотите достичь, должно обрабатываться не контроллером, а директивой. Я бы написал общую директиву, которая для любого элемента question способна выводить соответствующий элемент, будь то input, textarea или ngTable.   -  person frapontillo    schedule 09.10.2013
comment
Чтобы добавить к комментарию @frapontillo, этот ответ может помочь. stackoverflow.com/questions/16340236/   -  person lucuma    schedule 10.10.2013
comment
Вот где я запутался... ngTable сама по себе является директивой. Итак, я понимаю, что использование директивы ngTable как части моего общего «табличного» HTML, но конфигурация и параметры указанной таблицы ускользают от меня, поскольку я могу сделать это в директиве. Есть ли способ написать простой пример (не обязательно использовать ngTable)?   -  person Brandon    schedule 10.10.2013
comment
Основываясь на ответе @lucuma, вы можете просто выбрать «$ compile» определенную строку элемента или другую, в зависимости от значения модели, к которой вы привязываете директиву.   -  person frapontillo    schedule 10.10.2013