angular - 如何在 ionic 3/angular 中动态添加 [ngStyle] 指令

标签 angular ionic-framework ionic3 angular-directive

这就是我所拥有的并且它正在工作,它绑定(bind)到 progress 方法并且它显示正确:

<div [ngStyle]="{'width.%': progress()}"></div>

现在我必须动态创建元素:

let myDiv = <HTMLElement>(document.createElement('div'));

但我似乎找不到将进度方法绑定(bind)到我动态创建的元素的方法。

代码使用 renderer正如@fatemefazli 所建议的那样,它没有变化检测,因此当数据可用时它不会呈现,也不会监听进度方法的变化:https://stackblitz.com/edit/angular-fpyfmn

决定动态创建 DOM 元素是因为需要使用 HammerJS 附加平移手势。这需要像这样附加一个监听器:

addGestures(elem){
    var hammer = new Gesture(elem);
    hammer.listen();

    hammer.on('pan', (e) => this.Pan(e));
  }

我尝试创建一个事件发布/发射器,但我没有发布它的触发器。

最佳答案

constructor(public el: ElementRef, public renderer: Renderer){
    this.myDiv = <HTMLElement>(document.createElement('div'));
    renderer.setElementStyle(this.myDiv , 'width', this.progress()+'%');
}

关于angular - 如何在 ionic 3/angular 中动态添加 [ngStyle] 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50687272/

相关文章:

angular - 如何在 Ionic 2 中设置带有选项卡的侧面菜单?

Angular 2组件多态性

java - 如何检查Android中特定网络的数据消耗

javascript - promise 解决后 typescript 返回 bool 值

angular - PrimeNg p-dropdown 不显示数组值

javascript - 如何获取 Angular 列表 [Object] 值

android - 在 android studio 中导入并开发一个 ionic 项目

android - CacheFactory 在我的浏览器中工作但在我的 apk 中不工作

ios - IONIC 3 - WKWebview CORS 问题

cordova - Base64 插件不工作