Я использую 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
});
question
способна выводить соответствующий элемент, будь тоinput
,textarea
илиngTable
. - person frapontillo   schedule 09.10.2013