0

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

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

至:

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

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

4

3 回答 3

1

您可以通过使用ng-bind属性来做到这一点(花括号可能会破坏您在页面首次加载时用于应用颜色的代码)。
看看这篇文章:如何根据AngularJS局部视图动态更改标题?
他们将其用于标题,但您也可以将其用于meta标签。

于 2016-06-17T13:09:10.267 回答
1

是的。

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

/**** Global ****/
$rootScope.color = 'red';
$scope.$root.color = 'red';
于 2016-06-17T13:09:21.810 回答
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>
于 2016-06-17T13:12:32.373 回答