Howdie сделать,Как передать переменную в области видимости контроллера для angular.element при добавлении дочернего элемента в элементе головки
Итак, мы следующий контроллер:
'use strict';
angular.module('24SevenWse')
.controller('NavbarCtrl', ['$scope', 'dataFactory', function ($scope, dataFactory) {
$scope.user = dataFactory.getUser();
$scope.code = dataFactory.getCode();
}
var companyLink = angular.element('<link rel="stylesheet" href="http://localhost/~jw1050/css/$scope.code.css">');
angular.element('head').append(companyLink);
}]);
Как вы можете видеть, я добавление новую таблицу стилей на элемент головы на странице. Теперь, когда я жестко закодировать значение, например:
var companyLink = angular.element('<link rel="stylesheet" href="http://localhost/~jw1050/css/ABC.css">');
Однако, я пытаюсь загрузить новое изображение с помощью CSS на основе кода пользователь входит в программное обеспечение с.
Теперь вид, что это для ниже:
<nav class="navbar navbar-fixed-top" ng-controller="NavbarCtrl">
<div class="container-fluid">
<div class="navbar-header pull-left">
<a class="navbar-brand tracking-navbar-brand newImage">
<img id="custLogo">
</a>
</div>
</div>
</nav>
.css файл, который впрыскивается в голову только содержит следующие:
#custLogo {
content: url("http://localhost/~jw1050/logos/logo.png");
}
The .css файлы будут каждый из них будет называться после кода, с которым пользователь может войти. Например, пользователь входит в систему с кодом ABC. Этот код будет соответствовать непосредственно к файлу ABC.css
Так что мне нужно передать код с помощью контроллера в вар companyLink так, что таблица стилей, которая прилагается к главе документа будет:
<link rel="stylesheet" href="http://localhost/~jw1050/css/ABC.css">
Теперь я попытался следующие в контроллере:
var companyLink = angular.element('<link rel="stylesheet" href="http://localhost/~jw1050/css/{{code}}.css">');
var companyLink = angular.element('<link rel="stylesheet" href="http://localhost/~jw1050/css/'{{code}}'.css">');
Ни похоже на работу. Мое мышление - это ссылка, которую я добавляю в голову, является частью представления. Поэтому он должен иметь возможность передавать код в контроллере для просмотра, но это, похоже, не работает.
Любые идеи?
Почему бы просто не использовать встроенные стили, если у css, который вы загружаете, есть одно объявление? –
Поскольку мы используем способность CSS не работать с другими листами. Так что, если код не имеет соответствующего кода, он не будет работать по умолчанию – Jimmy
Вы все равно можете сделать то же самое, используя ng-attr для встроенного стиля –