Где я хочу 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, не является статичной.
Вам нужно будет использовать службу $sce
и ng-sanitize
. Когда у вас есть HTML, который вы хотите включить в свой контроллер/директиву, используйте:
$sce.trustAsHtml($scope.htmlItem);
И, на ваш взгляд,
<div ng-bind-html="htmlItem"></div>
И HTML будет отображаться на странице.
Альтернативно, вы можете указать 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.