首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >角2 DOM适配器

角2 DOM适配器
EN

Stack Overflow用户
提问于 2016-03-04 14:54:04
回答 2查看 5.3K关注 0票数 2

尝试像这样使用DOM适配器:

代码语言:javascript
运行
复制
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;})

现在我用它就像:

代码语言:javascript
运行
复制
import { DOM2 } from 'angular2/src/platform/dom/dom_adapter';
DOM2().addClass(DOM2().query("body"), 'test');
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-04 15:14:47

我不完全理解你的问题。但是你可以像这样使用BroswerDomAdapter。(除非它对你有帮助)

代码语言:javascript
运行
复制
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");
  }
}

https://plnkr.co/edit/9uTJjdsiraXhimewFRPl?p=preview

票数 3
EN

Stack Overflow用户

发布于 2016-03-04 15:05:09

这是TypeScript https://github.com/angular/angular/issues/6904中DOM的一个已知问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35799022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档