2017-03-16 8 views
2

私はangular2アプリケーションに取り組んでいます。私はテキストエリアを自動サイズ調整する必要があります。 私はREADMEに従っhttps://github.com/stevepapa/angular2-autosize角度2のテキストサイズを自動サイズ調整

からangular2-自動サイズ調整を再利用しようとしています、しかし、私は以下のエラーを取得しています

不明なエラー:モジュールのビルドに失敗しました:エラー:ENOENT:いいえそのようなファイルやディレクトリ、オープン " C:\ Users \ Vipin \ SampleApp \ node_modules \ angular2-autosize \ angular2-autosize.js 'に設定します。

この問題を解決する方法をご提案ください。

答えて

5

私は今日同じ問題を抱えており、修正されました!

ので...それは少し違うので、あなただけのモジュールディレクティブないインポート、あなたのコードで、その後

npm install https://github.com/chrum/angular2-autosize.git --save 

そして: https://github.com/chrum/angular2-autosize

PRがマージされるまでは試してみてください。 私のフォークを確認してください 代わりの

import {Autosize} from 'angular2-autosize'; 

@NgModule({ 
    ... 
    declarations: [ 
    Autosize 
    ] 
    ... 
}) 

あなたはを持っている必要があります。

import {AutosizeModule} from 'angular2-autosize'; 

@NgModule({ 
    ... 
    imports: [ 
    AutosizeModule 
    ] 
    ... 
}) 
4

パッケージを使用せずに、次のように行うことができます。これは動作しますが、それは(すなわち、直接DOMを操作しないでください)角度の哲学を壊す

<textarea id="textarea" (keyup)="autogrow()" ></textarea> 
+4

以下のような

autogrow(){ let textArea = document.getElementById("textarea") textArea.style.overflow = 'hidden'; textArea.style.height = '0px'; textArea.style.height = textArea.scrollHeight + 'px'; } 

とhtmlで以下のようなコントローラで

そのシンプル。 document.getElementByIdを使用するのではなく、@ViewChildを使用してテキストエリアへの参照を取得します(これはコンポーネントのすべての子の後にあるためです) – rmcsharry

関連する問題