Я хочу добавить некоторые html для просмотра из $scope
переменной. Я хочу добавить его в угловую навигацию. Сгенерированный код абсолютно корректен, когда я проверяю его в браузере, но, похоже, дополнительный CSS-стиль все бросит.ng-bind-html добавляет owns css class 'ng-binding', который отбрасывает все вложенные css, как избавиться от него?
Мой HTML выглядит следующим образом:
... navbar headers
<ul class="nav navbar-nav" ng-bind-html="menuHTML"></ul>
app.js является следующее:
var myApp = angular.module('myApp', ['ui.bootstrap','ngSanitize']);
myApp.controller('NavBarCtrl', function($scope, $http, $window,$sce) {
$scope.isCollapsed = true;
$scope.changeLanguage = function (language){
console.log(language);
var url = $window.location.href;
if (url.indexOf('?') > -1){
url = url.substr(0,url.indexOf("?"));
url += '?language='+language;
}else{
url += '?language='+language;
}
$window.location.replace(url);
};
$http.get('headerMenu').success(function(res){
console.log('header ok');
$scope.headerMenuHTML = $sce.trustAsHtml(res);
});
});
страница выглядит так, как ожидалось, но выпадающее меню не работает. Когда я копирую неработающий html из браузера и вручную печатаю его без ng-bind-html
и удаляю ng-binding
Стиль все в порядке.
Как заставить ng-bind-html просто добавить html без добавления дополнительных css? Другой способ - создать собственную директиву как answered here, но копируемый код не работает. Вероятно, автор вопроса не показал всего, и поэтому я не включил какой-то важный модуль, пропущенную точку с запятой, сделал неправильный порядок объявления директивы-директивы (?) И т. Д.
Может ли кто-нибудь сказать мне, как использовать ng-bind- html без его раздражающего дополнительного css или предоставить правильный собственный пример директивы?