AngularJS передает HTML в область видимости

0

Где я хочу html:

<div>{{display}}</div>

app.js

var app = angular.module('app', []);
app.controller('ctrl', function ($scope) {
     $scope.contact = //get the html from contact.html
     $scope.display = $scope.contact
});

contact.html

<form>
  ...
</form>

Как я могу передать html в файл js?

UPDATE: я не могу использовать ng-include, потому что это SPA, поэтому область, куда будет идти contact.html, не является статичной.

  • 0
    создать угловой сервис, который предоставляет ваши контактные данные HTML
  • 0
    Я не знаю, как это сделать, я новичок в angularJS. Я видел, как люди упоминают услуги, но я не знаю, как ими пользоваться
Показать ещё 2 комментария

2 ответа

1

Вам нужно будет использовать службу $sce и ng-sanitize. Когда у вас есть HTML, который вы хотите включить в свой контроллер/директиву, используйте:

$sce.trustAsHtml($scope.htmlItem);

И, на ваш взгляд,

<div ng-bind-html="htmlItem"></div>

И HTML будет отображаться на странице.

  • 0
    Это то, что я искал, но как бы я включил contact.html в область действия $?
  • 0
    сделай запрос: D забыл, как это в angular, но что-то вроде этого (это плохая практика для angular, используй угловой сервис http): $ .ajax ({url: '/contact.html', success: function (data) {$ scope.display = data; $ scope. $ apply ();}})
Показать ещё 1 комментарий
0

Альтернативно, вы можете указать ng-include.

    <!-- HEADER -->
    <div ng-include="'partials/header.html'"> </div>

    <!-- MAIN VIEW -->
    <div animated-view></div> //This is using ngRoute to populate content.

    <!-- FOOTER -->
    <div ng-include="'partials/footer.html'"> </div>

Не забудьте использовать вложенные "" для Angular для понимания.

Вы также должны взглянуть на $ RouteProvider.

Это мой пример, показывающий, как использовать RouteProvider для заполнения ng-view. Вы можете установить представление, контроллеры и начальные переменные на routeProvider.

  • 0
    Я не могу использовать это, потому что данные на странице не являются статичными, они будут меняться, когда пользователь взаимодействует со страницей
  • 0
    Отредактировал мой ответ. Посмотрите на мой пример кода. Представления / частичные данные не являются статичными и не должны быть. Эта страница , например, показывает именно это.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню