ドラッグすることで要素のサイズを変更しようとしています(soなど)。私は簡単な指示文を書きました(後でゴーストバーを処理します):要素の高さを変更できません
@Directive({ selector: '[drag-resize]' })
export class DragResizeDirective {
private dragging: boolean;
constructor(el: ElementRef, renderer: Renderer2) {
renderer.listen('window', 'mouseup', (e) => {
if (this.dragging) {
el.nativeElement.style.backgroundColor = 'red'; // Works fine.
el.nativeElement.style.height = `${e.pageY + 2}px`; // Not so much.
this.dragging = false;
}
});
}
@HostListener('mousedown') onMouseDown() {
this.dragging = true;
}
}
問題は私が要素の高さを変更できないことです。他のスタイルもうまくいきます。私はAngular 4.0.3を使用しています。
コンピュー属性:
display: block;
height: 244.781px;
left: 0px;
overflow-x: hidden;
overflow-y: scroll;
position: absolute;
top: 655.422px;
width: 1793px;
* renderer.setStyle()
はどちらか動作しません。
**サイズを変更しようとしている要素が、グリッドタイル(角材のmd-grid-tile
)です。
***ディレクティブは他の要素でも機能します。
ああ、ええ、私は申し訳ありませんが、私は、動作しませんでしたことを試してみましたよ。サンプルコードを間違えて更新しました。 – Siegmeyer
別の解決策で自分の答えを更新しました。 – fourcube
要素にはdisplay:ブロックがあります。質問に計算された属性を追加しました。 – Siegmeyer