gpt4 book ai didi

javascript - 在 head 元素中附加子元素时如何将 Controller 范围变量传递给 angular.element

转载 作者:太空宇宙 更新时间:2023-11-04 02:53:11 25 4
gpt4 key购买 nike

你好,

所以我们有以下 Controller :

'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);


}]);

如您所见,我将一个新的样式表附加到页面的 head 元素。现在,当我硬编码值时,例如:

var companyLink = angular.element('<link rel="stylesheet" href="http://localhost/~jw1050/css/ABC.css">');

但是,我正在尝试根据用户登录软件时使用的代码通过 CSS 加载新图像。

现在,这是针对以下的 View :

<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>

被注入(inject)头部的 .css 文件仅包含以下内容:

#custLogo {
content: url("http://localhost/~jw1050/logos/logo.png");
}

每个 .css 文件都将以用户可以用来登录的代码命名。例如,用户使用代码 ABC 登录。该代码将直接对应于文件 ABC.css

所以我需要通过 Controller 将代码传递给 var companyLink,这样附加到文档头部的样式表将是:

<link rel="stylesheet" href="http://localhost/~jw1050/css/ABC.css">

现在我在 Controller 中尝试了以下操作:

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">');

似乎都不起作用。我的想法是我附加到头部的链接是 View 的一部分。所以应该可以通过controller中的代码来查看,但是好像不行。

有什么想法吗?

最佳答案

试试这个:

var companyLink = angular.element('<link rel="stylesheet" href="http://localhost/~jw1050/css/'+$scope.code+'.css">');

关于javascript - 在 head 元素中附加子元素时如何将 Controller 范围变量传递给 angular.element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32657358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com