Angular 2.x 在 body 标签上绑定类

2024-01-02

由于 Angular 2.x 是在主体内部引导的,我该如何添加[class.fixed]="isFixed"在 body 标签上(在我的应用程序之外)?

<html>
<head>
</head>
<body [class.fixed]="isFixed">
  <my-app>Loading...</my-app>
</body>
</html>

我的应用程序组件看起来像

import {Component} from 'angular2/core';
import {CORE_DIRECTIVES} from 'angular2/common';
import {RouteConfig, ROUTER_DIRECTIVES, Router, Location} from 'angular2/router';
import {About} from './components/about/about';
import {Test} from './components/test/test';

@Component({
    selector: 'my-app',
    providers: [],
    templateUrl: '/views/my-app.html',
    directives: [ROUTER_DIRECTIVES, CORE_DIRECTIVES],
    pipes: []
})

@RouteConfig([
    {path: '/about', name: 'About', component: About, useAsDefault: true},
    {path: '/test', name: 'Test', component: Test}
])

export class MyApp {
    router: Router;
    location: Location;

    constructor(router: Router, location: Location) {
        this.router = router;
        this.location = location;
    }
}

Using <body>因为应用程序组件工作正常,但您不能在<body>标记,因为它尝试将“isFixed”绑定到父级,但没有父级。

Use @HostBinding instead

@Component(
  selector: 'body',
  templateUrl: 'app_element.html'
)
class AppElement {
  @HostBinding('class.fixed') 
  bool isFixed = true;
}

这是 Dart 代码,但将其转换为 TS 应该不难。

也可以看看@HostBinding 和 @HostListener:它们的作用是什么以及它们的用途是什么? https://stackoverflow.com/questions/37965647/hostbinding-and-hostlistening-what-do-they-do-and-what-are-they-for

如果您不依赖服务器端渲染或 Web Worker,则始终可以使用纯 JS 来更新 DOM。

或者你也可以使用

document.body.classList.add('foo');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 2.x 在 body 标签上绑定类 的相关文章

随机推荐

  • 如何将 Passport 和 Angular-UI 路由结合起来

    我想知道如何将 Angular UI Routing 与 Passport 结合起来 我找到的所有示例都使用 node js 路由 var routerApp angular module routerApp ui router route
  • 使用 json_modify.py 更改 JSON 键名称

    如何使用更改 JSON 键名称json 修改 py https github com integr8ly installation blob master library json modify py 我有以下数组 我想更改public i
  • System.Data.OracleClient 不适用于 64 位 Oracle 客户端

    我设计了一个 C 应用程序来连接到 Oracle 数据库并更改架构用户密码 我的参考程序集是来自以下位置的 System Data OracleClient C Program Files x86 Reference Assemblies
  • Rails 4 中的 has_many 'conditions' 选项相当于什么?

    有人能告诉我在 Rails 4 中执行以下行的等效方法是什么吗 has many friends through gt friendships conditions gt status accepted order gt first nam
  • MSBuild - 如何复制可能存在或不存在的文件?

    我遇到一种情况 我需要在 MSBuild 脚本中复制一些特定文件 但它们可能存在也可能不存在 如果它们不存在也没关系 我就不需要它们了 但标准
  • 在未知的 NSMutableArray 深度中搜索值

    好吧 我问了错误的问题 所以我编辑了原来的问题 我将数组存储在数组中 以及 NSDictionaries 它是一种实用程序类型的应用程序 没有固定的结构 用户可以根据需要输入嵌套信息 理想情况下 我需要一种方法来滚动浏览给定参数 一种类的类
  • Cordova Android 状态栏设置为透明

    我正在尝试使用下面的这个插件将状态栏设置为透明 但我无法实现它 我可以将其更改为不同的颜色 但不透明 https github com apache cordova plugin statusbar https github com apa
  • 下载旧版本的 Google App Engine SDK

    在哪里可以找到下载旧版 GAE SDK 例如 1 9 15 我需要找出覆盖范围 也许使用第 3 方 API 该 API 与最新版本不能很好地配合 这取决于相应的 SDK 是否仍受官方支持 这两种类型都可以在appengine sdks ht
  • 使用文本框输入在画布上移动对象

    我有一个画布 可以在上面添加图层 这些图层可以移动 选择 旋转 调整大小等 在画布下方 我显示图层的属性 x y 宽度 高度 我想做的是 当我更改包含 x 和 y 坐标的文本框中的值时 图层应该重新定位到我输入的坐标 我已经尝试了几件事 但
  • 在 Windows 中更改 Python 3 中的“区域设置首选编码”

    我正在使用 Python 3 最近从 Python 2 切换而来 我的代码通常在 Linux 上运行 但有时 不经常 在 Windows 上运行 根据 Python 3 文档open https docs python org 3 libr
  • 以编程方式单击时突出显示 TextView

    我动态生成 TextView 其工作方式类似于按钮 现在我想在他们受到压力时突出显示他们 比如更改文本颜色或背景颜色 我尝试过使用选择器 但它不起作用
  • 如何设置 PowerShell Cmdlet 的默认输出格式?

    我正在 C 中创建一个 PowerShell Cmdlet 以从 JSON 文件读取字段并输出一些对象 这些对象是简单的 POCO 类型 public class FieldDefinition public FieldDefinition
  • C#动态编译字符串和.cs文件

    我正在开发一个网站 用户可以在该网站上针对浏览器文本区域中的问题实现 C 代码解决方案并提交 然后 服务器将将该代码与我在服务器上提供的预定义接口一起编译 将其视为一种策略设计模式 我提供一个策略接口 由用户实现 所以我需要在运行时一起编译
  • 部分排序数组,最后 n 个元素已排序?

    有没有办法对数据数组执行部分排序 以便对最后 n 个元素进行排序 我的意思是使用标准库 而不是实现我自己的排序函数 这就是我现在正在做的事情 示例输出 使用较少的比较器 2 1 4 5 6 8 10 之后的元素 都大于之前的元素 但仅限于右
  • 共享一个控制器的角度多条路线

    我不确定我是否正确处理了这个问题 但我正在构建一个电子商务网站 该网站的一部分有 6 个不同的产品网格页面 每个页面都可以使用相同的视图 ul class products row li class product thumbnail co
  • ASP.NET / Web.config:customErrors 仅在 404 上重定向

    我有这样的场景 用户访问我的网站并点击不再存在的链接 他应该被重定向到自定义错误页面 这样可行 如果用户执行某些操作 引发错误 他应该看到堆栈跟踪和真正的错误页面 这是我当前的 Web config
  • 使用 PHP 文件功能在另一台服务器上创建文件

    我的一台服务器上有一个脚本 我希望该脚本使用 PHP 在我的另一台服务器上创建一个文件 而不是通过 FTP 有很多方法可以做到这一点 我自己会选择第一个 因为它最容易设置 如果你有PHP 另一台服务器上的Apache 只需使用以下命令调用另
  • 将 pfx 格式转换为 p12

    我需要导出一个 pfx将证书格式 来自 Windows MMC 转换为 p12在另一个应用程序中使用 我找不到办法做到这一点 任何人都可以建议一个方法吗 p12 and pfx都是 PKCS 12 文件 我错过了什么吗 您是否尝试过重命名导
  • 从父子表生成字符串树分支

    我有一个父子表 如下所示 child father H G F G G D E D A E B C C E 我希望 sql server 生成类似的东西 正如这个问题中所问的那样 将一系列父子关系转化为层次树 https stackover
  • Angular 2.x 在 body 标签上绑定类

    由于 Angular 2 x 是在主体内部引导的 我该如何添加 class fixed isFixed 在 body 标签上 在我的应用程序之外