头标签用 Angular 动态填充

问题描述 投票:0回答:3

我想知道是否可以使用 Angular 动态更改某些 HEAD 标签的值。一个例子就是这种转变:

<meta name="theme-color" content="#2F7DCA">

至:

<meta name="theme-color" content="{{ color }}">

这是理论,但我想知道是否有人尝试过并且有效,或者如果这不是方法,该怎么做。我现在无法测试它,但在开始编码之前我需要了解它。如果可以的话,我会很感激一些如何操作其他 HEAD 标签的例子。

javascript angularjs angularjs-bindings
3个回答
1
投票

您可以使用

ng-bind
属性来执行此操作(大括号可能会破坏页面首次加载时用于应用颜色的代码)。
看看这篇文章:如何基于AngularJS部分视图动态更改标题?
他们将其用于标题,但您也可以将其用于
meta
标签。


1
投票

是的,是的。

/**** ONE controller ****/
$scope.color = 'red';   

/**** Global ****/
$rootScope.color = 'red';
$scope.$root.color = 'red';

1
投票

您可以这样做,但前提是

meta
在您的
ng-app
的范围内,所以像这样:

<html ng-app="myApp">
<head ng-controller="headCtrl">
    <meta name="theme-color" content="{{ color }}">
</head>
<body>
    <!-- ... -->
    <script>
        angular.module("myApp", [])
            .controller("headCtrl", function($scope) {
                $scope.color = "#2F7DCA";
            });
    </script>
</body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.