针对scss样式属性的Typescript的问题

时间:2016-03-15 23:02:53

标签: css ionic-framework ionic2

我正在用打字稿构建一个IONIC 2项目。我有以下css:

.bottle {
    background: linear-gradient(0deg, pink 100%, white 0%);
}

我想调整线性渐变的pink值,来自Javascript / Typescript。我已经在我的打字稿中做了以下内容,但是我得到一个错误,说明样式元素不存在于bottleFill。我做错了什么?

import {Page, Alert, NavController} from 'ionic-angular';

@Page({
    templateUrl: 'build/pages/hello-ionic/hello-ionic.html'
})

export class HelloIonicPage {
    constructor(public nav: NavController) { }

    updateDisplay(batteryPercentage){
        var bottleFill = document.getElementsByClassName('bottle')[0];

        if(percentage <= 100){
            bottleFill.style.linerar-gradient.pink = batteryPercentage + '%';
            batteryPercentage += 5;
        }        
    }
}

更新

完整错误:

  

属性&#39;样式&#39;类型&#39;元素&#39;

上不存在

使用ngOnInit来使用元素选择器没有工作......

2 个答案:

答案 0 :(得分:0)

也许您应该在ngAfterViewInit方法中检索css,该方法在初始化视图后由Angular调用: http://learnangular2.com/lifecycle/

答案 1 :(得分:0)

您可以使用类型断言通知typescript它实际上是HTMLElement:

var bottleFill = document.getElementsByClassName('bottle')[0] as HTMLElement;