Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript: Angular 2, AngularJS
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Монфрид
1212 / 1022 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
1

Получение данных от angular service напрямую в html

27.04.2015, 12:40. Просмотров 727. Ответов 4

Допустим, есть элементарный сервис
Javascript
1
2
3
4
5
6
angular.module("services", []).service("someService", function ($http) {
    var serviceBaseAddress = "http://localhost:58651/api/";
    this.getSomeData = function () {
        return "trattata";
    };
});
Есть контроллер, который этот сервис использует, и к этому контроллеру подключена html.
Могу ли я напрямую в html получить и вставить в разметку значение от сервиса, не создавая при этом в контроллере свойств для получение данных от этого сервиса, например:
HTML5
1
2
3
<body ng-controller="cntrl1">
 <span>{{someService.getSomeData()}}
</body>
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2015, 12:40
Ответы с готовыми решениями:

Получение данных с HTML
вот пример кода &lt;html&gt;&lt;head&gt; &lt;script type=&quot;text/javascript&quot;&gt; &lt;!-- function total(){...

Получение данных с div HTML
Приветствую. Нужно получить число результатов с страницы поиска Яндекса. Для начала надо...

Получение данных Selected(html)
У нас есть select &lt;select name=&quot;musicType&quot;&gt; &lt;c:forEach items=&quot;${musicTypes}&quot;...

Получение данных из таблицы HTML
Доброго времени суток! Уже неделю пытаюсь найти материал по своему вопросу, но, к сожалению,...

Получение данных с html страницы
Подскажите в какую сторону капать Есть html страница с таблицей Из нее нужно получить цифорки С...

4
Qwertiy
823 / 631 / 100
Регистрация: 20.08.2013
Сообщений: 2,524
28.04.2015, 23:28 2
Можно в контроллер сам сервис положить.
0
JokerNN
134 / 130 / 57
Регистрация: 29.12.2011
Сообщений: 359
30.04.2015, 15:25 3
Фишка в scope, на хтмл рендерится только то что есть в scope. Такова архитектура ангуляра, это нужно для двустороннего дата байндинга.

Как написал Qwertiy, можно в scope положить весь сервис, но если сервис большой, я думаю это будет излишеством. Лучше в scope добавить конкретные данные из сервиса.
0
Монфрид
1212 / 1022 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
01.05.2015, 11:30  [ТС] 4
JokerNN, да просто этот сервис используется в 4х контроллерах, и почти на всех view нужны одни и теже данные из сервиса. Не удобно в каждом контроллере писать одно и то же создавая свойства в scope
0
JokerNN
134 / 130 / 57
Регистрация: 29.12.2011
Сообщений: 359
04.05.2015, 14:02 5
Согласен, но таков ангуляр.

Если интересно, можно почитать на тему angularjs DRY controllers, некоторые предлагают решения через factory,
делают функцию attachSomeData и внутри неё к скоупу добавляют нужные поля. Но смысл остаётся таким же, просто в scope добавить определённые данные.

ЗЫ: Можно запихать данные из сервиса в rootScope, тогда в каждый скоуп не нужно будет их добавлять, но это тоже может быть чревато трудностями.
1
04.05.2015, 14:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2015, 14:02

Разбор HTML документа и получение определенных данных
Допустим, есть html-документ на странице в интернете. (по адресу типа XXX. ru/yyy/zzz.html) Среди...

Получение данных в модель из View посредством Html.CheckBoxFor
Господа! Прошу помощи! Тема такая: с помощью хелпера Html.CheckBoxFor задаю некий динамический...

Получение данных из HTML-формы в .exe файл, написанный на C#
Здравствуйте. Столкнулся с такой проблемой: есть вот такой html-файл &lt;form action=&quot;./cgi/123.exe&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru