尝试像这样使用DOM适配器:
import { DOM } from 'angular2/src/platform/dom/dom_adapter';
DOM.addClass(DOM.query("body"), 'test');
但是有个错误
原始异常: TypeError: dom_adapter_1.DOM为空.
在生成的代码中,dom_adapter_1.DOM为null,但dom_adapter_1.default.DOM不为null,工作正常。
(angular2:"2.0.0-beta.8")
为了解决这个问题,我在"angular2/src/platform/dom/dom_adapter.d.ts"
中添加了这个func:"export declare function DOM2(): DomAdapter;
",以及angular.js中的简单实现(函数DOM2(){返回this.default.DOM;})
现在我用它就像:
import { DOM2 } from 'angular2/src/platform/dom/dom_adapter';
DOM2().addClass(DOM2().query("body"), 'test');
发布于 2016-03-04 15:14:47
我不完全理解你的问题。但是你可以像这样使用BroswerDomAdapter
。(除非它对你有帮助)
import {Component} from 'angular2/core';
import {BrowserDomAdapter} from 'angular2/platform/browser';
//import { DOM } from 'angular2/src/platform/dom/dom_adapter';
@Component({
selector: 'my-app',
template: `
<style>
.test{
color:green;
}
</style>
<button (click)="add()">Add New Element</button>
`
})
export class AppComponent {
dom:BrowserDomAdapter;
constructor() {
this.dom = new BrowserDomAdapter();
}
add(){
this.dom.addClass(this.dom.query("button"),"test");
}
}
发布于 2016-03-04 15:05:09
这是TypeScript https://github.com/angular/angular/issues/6904中DOM的一个已知问题。
https://stackoverflow.com/questions/35799022
复制相似问题