如何将属性绑定到Angular 2中的样式宽度像素?

Dyn*_*mic 34 html css angular

我正在使用Angular 2.0,我编写了以下代码:

<div [style.width.px]="width">some texts </div>
Run Code Online (Sandbox Code Playgroud)

我也试过了

<div [ngStyle]="{'width.px': width}">some texts </div>

export class MyComponent
{
 width: number = 150;
}
Run Code Online (Sandbox Code Playgroud)

但它没有将宽度绑定到div元素.

我正在使用最新版本的Angular 2.0.

我究竟做错了什么?

Gün*_*uer 40

对我来说很好

Plunker的例子

@Component({
  selector: 'my-app',
  styles: [`div { border: 3px solid red; }`]
  template: `
    <div>
      <h2>Hello {{name}}</h2>
      <div [style.width.px]="width">some texts </div>

    </div>
  `,
})
export class App {
  name:string;
  width: number = 250;
  constructor() {
    this.name = 'Angular2'
  }
}
Run Code Online (Sandbox Code Playgroud)

  • `{{` 和 `}}`。`[...]` 和 `{{...}}` *决不*一起使用。`[...]="xxx"` 已经定义了 `xxx` 是一个表达式。尝试 `[style.width] ="'calc(100% - ' + myWidth + ')'"` (2认同)

Ela*_*ode 14

对于像素单元

<div [style.width.px]="width"> Width Size with px</div>
Run Code Online (Sandbox Code Playgroud)

或者

<div bind-style.width.px="width"> Width Size with px</div>
Run Code Online (Sandbox Code Playgroud)

其他 CSS 单元

<div [style.width.em]="width"> Width Size with em</div>
<div [style.width.pt]="width"> Width Size with pt</div>
<div [style.width.%]="width"> Width Size with %</div>
Run Code Online (Sandbox Code Playgroud)

成分

export class MyComponent
{
   width: number = 80;
}
Run Code Online (Sandbox Code Playgroud)


小智 12

这对我有用:

<div [style.width]="paymentPerc+'%'"> Payment Recieved</div>
Run Code Online (Sandbox Code Playgroud)


ran*_*al9 6

与以下相同检查一次:

<div [style.width]="width+'px'">some texts </div>

export class MyComponent
{
 width: number = 150;
}
Run Code Online (Sandbox Code Playgroud)