在Angular 2 RC中访问DOM

Ron*_*īts 8 angular

在Angular 2 RC中操作DOM的正确方法是什么?

例如,我正在构建一个用于调试目的的服务来交换文档中的.css文件引用.

在Angular 2 RC之前,可以使用BrowserDomAdapterDOM操作,如下所示:

import { BrowserDomAdapter } from 'angular2/platform/browser';

...
constructor(private domAdapter: BrowserDomAdapter) {
}
...

const document = this.domAdapter.defaultDoc();
Run Code Online (Sandbox Code Playgroud)

这得益于该Title服务(现在@angular/platform-browser).似乎该Title服务仍在内部使用它,但它不再导出在Angular之外使用.即

import { BrowserDomAdapter } from "@angular/platform-browser";
Run Code Online (Sandbox Code Playgroud)

结果是:

Module '".../@angular/platform-browser/index"' has no exported member 'BrowserDomAdapter'
Run Code Online (Sandbox Code Playgroud)

Ank*_*ngh 5

  import {BrowserDomAdapter} from '@angular/platform-browser/src/browser/browser_adapter';
Run Code Online (Sandbox Code Playgroud)

更新:(评论)

关于GitHub的一个问题解释说删除确实是偶然的,所以希望它会回到rc2. - @paul

  • 关于GitHub的一个问题解释说删除确实是偶然的,所以希望它会回到rc2.https://github.com/angular/angular/issues/8509#issuecomment-217483301 (3认同)
  • 这只能是一种解决方法.我们不应该从`src/...`导入,因为它被认为是私有实现. (2认同)
  • 不会回来,但GitHub问题中的讨论建议使用什么. (2认同)