カスタム/サードパーティーのディレクティブの使用方法や使用方法を実際に学習することなく、私はAngular 2アプリとかなり遠く離れています。Angular 2コンポーネントでディレクティブを宣言できないのはなぜですか?
とにかく、私はng2-uploaderを使用して、ユーザーがフォームで画像をアップロードできるようにしようとしています。rc6では、コンポーネント内のディレクティブを宣言する必要があります。私が提供したリンクのドキュメントによると、コンポーネントのディレクティブのプロパティにUPLOAD_DIRECTIVESをインポートするだけですが、ディレクティブはのコンポーネントのプロパティではないというエラーが表示されます。それは正しいことができない、それはできますか?
私はng2-uploaderモジュールとUPLOAD_DIRECTIVESを両方ともapp.module.tsにインポートしました。エラーはありません。私はNG2-アップローダーのため、元のドキュメントあたりのディレクティブを使用しようとすると、私が手:
未処理の約束拒否:テンプレートの解析エラー:それはにISN以来 は「NG-ファイル選択」にバインドできません」入力の既知の特性。
私は実際に指示を得ることができるときにこれが解決されると思います。
私は何かが愚かに明らかに欠けているように感じる。問題が存在する可能性のあるセクションをいくつか紹介します。
app.component(無関係なコードは省略):
import { Ng2Uploader, UPLOAD_DIRECTIVES } from 'ng2-uploader';
@NgModule({
imports: [
Ng2Uploader,
],
declarations: [
UPLOAD_DIRECTIVES
],
bootstrap: [ AppComponent ]
})
export class AppModule {}
ディレクティブが使用されるコンポーネント:
import { UPLOAD_DIRECTIVES } from 'ng2-uploader';
@Component({
selector: "quote-form-partial",
templateUrl: "./app/components/partials/quote-form-partial/quote-form-partial.component.html",
directives: [UPLOAD_DIRECTIVES]
})
uploadFile: any;
hasBaseDropZoneOver: boolean = false;
options: Object = {
url: '/uploads'
};
handleUpload(data): void {
data = JSON.parse(data.response);
this.uploadFile = data;
}
fileOverBase(e:any): void {
this.hasBaseDropZoneOver = e;
}
HTMLテンプレート:@Component()
と@Directive()
doesnの上
<input type="file"
[ng-file-select]="options"
(onUpload)="handleUpload($event)">
これまでに解決したコードを提供してもらえますか? –
NPMサイトの例は、古いバージョンのangular2のようです。 GitHubの例は私にとってより信頼できるように見えます。 https://github.com/jkuri/ng2-uploader#basic-example – retrospectacus
私は自分の投稿をコードで更新しました。 – Smaft