javascript - 如何在 AngularJs 中更新不同页面上的元标记和标题?

标签 javascript jquery angularjs metadata

以下是我的index.html页面:

<title>Mytitle<title>
<meta name="keywords" content="abc,xyz"/>
<meta name="description" content="cde,fgh"/>

我想要在 signup.html 页面中使用不同的标题、关键字和说明:

(index.html页面下的signup.html页面渲染器)

<title>Signup Title<title>
<meta name="keywords" content="signup, free"/>
<meta name="description" content="do signup for free"/>

最佳答案

对于您的情况,您可以将应用程序和 Controller 添加到 HTML 标记(例如)并使用数据绑定(bind),如下所示:

<html ng-app="yourApp" ng-contoller="YourController">
<head>
  <title>{{title}}<title>
  <meta name="keywords" content="{{keywordsContent}}"/>
  <meta name="description" content="{{descriptionContent}}"/>
</head>
...
</html>

在你的YourController中:

angular
  .module('yourApp', [])
  .controller('YourController', ['$scope', YourController]);

function YourController($scope) {
  $scope.title = "Mytitle";
  $scope.keywordsContent = "abc,xyz";
  $scope.descriptionContent = "cde,fgh";
}

您可以使用$scope.$parent从子 Controller 控制此作用域变量:

angular
  .module('yourApp', [])
  .controller('ChildController', ['$scope', ChildController]);

function ChildController($scope) {
  $scope.$parent.title = "Changed Title";
  $scope.$parent.keywordsContent = "Changed Keywords";
  $scope.$parent.descriptionContent = "Changed Description";
}

关于javascript - 如何在 AngularJs 中更新不同页面上的元标记和标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44604195/

相关文章:

javascript - 当我放置 html5 文档类型声明时,jquery 不工作

javascript - 使用 TypeScript 自定义 knockout 验证规则

django - 如何在 django 模板标签内使用 Angular 表达式?

angularjs - 不支持 user.json 中的 “id”(数字)类型。使用 json-server 时使用对象或对象数组错误,为什么?

javascript - jQuery 函数声明说明

javascript - setTimeout 函数意外行为

javascript - 使用 data() 添加一个 div

javascript - 单击菜单复选框选项时更改 btn 颜色

javascript - 如何更改正在上传的图片的名称?

javascript - 为什么当我选择日期(使用 HTML5 日期)时,Javascript 显示的日期与日期选择器中的日期不同?