Я полностью в тупике. Все работает нормально (или сейчас достаточно хорошо), и все, что мне нужно, - это вернуть данные из фабрики в формате, отличном от json. У меня есть semi-working plunker со всеми подробностями.Получение свойств объекта из фабрики angularjs
В принципе, первая страница (под контроллером Ctrl) - это то, где пользователь может проверять кучу ящиков. Существует также ng-переключатель между наборами опций (реальные вещи - это намного больше, чем их больше), поэтому checkboxFactory поддерживает выбор пользователя. Когда пользователь переходит на следующую страницу (или «следующую страницу» в плункере, потому что подделывает ее), они могут видеть, что они выбрали. Затем эти варианты будут завернуты в сообщение json обратно на сервер. Мне нужно показать удобное имя, но также иметь идентификатор № выбора для сервера.
Если я положил значение = "{{item.name}}" в исходном флажке ng-repeat, все в порядке. За исключением того факта, что тогда у меня есть фабрика имен, а не требуемых сервером идентификаторов. Выполнение второго массива на заводе (один для выбранных имен, один для соответствующих выбранных идентификаторов) кажется излишним, когда теоретически я могу просто добавить каждый выбор в качестве объекта и извлечь свойства по мере необходимости на второй странице.
В действительности, это не работает. Вот что я получу, если эхо завод, после того, как выбор сделан:
[ "{\"id\":1,\"name\":\"Firstplace\"}", "{\"id\":2,\"name\":\"Second place\"}" ]
... и я не уверен, но, кажется, эти обратные косые, поворот каждый выбор в строках, потому что есть кавычки только внутри квадратные скобки. Я попытался отредактировать строку 54 в скрипте, но я получаю ошибки. Не нравится:
if (checked && index == -1) {
if (setup) elem.prop('checked', false);
else scope.list.push({
id:"scope.value.id",
name:"scope.value.name"
});
На HTML стороны, не нравится ни одна из вариаций, которые я пробовал в нг-повторе, либо. Кажется, что источником всех кошмаров является то, что нажатие создает искаженный json. Я попробовал все эти второй страницы/вывода:
{{item}}
{{item.name}}
{{item.item.name}}
Единственное, что работает это {{пункт}} и не удивительно, что это довольно некрасиво. Кто-нибудь сталкивался с этим раньше, и есть какие-то намеки на то, как это исправить? Спасибо заранее.
Я не уверен в том, чтобы танцевать в радости, что это было так легко, или повесить мою голову в позоре для полного отсутствия @ детали. Большое большое спасибо! – kl02