Showing posts with label Angular. Show all posts
Showing posts with label Angular. Show all posts

11 October 2017

Angular 4, create your own custom binding

Sometimes, you want to create your own data binding, for example to use the same properties in different components to support modular programming. If you're unfamiliar with binding and component in Angular, please check my previous post about Angular. We use data binding to bind the html file to the business logic on the typescript file. But instead of using any existing properties of the html tag like [src]="" or [(ngModel)]= "" we can create our own.

  1. create a new sub-component. You can create it manually or using cli command: ng g c yourComponent --spec false. Now you can use the <app-yourComponent> tag in your app-component.html
  2. In the sub-component create an object you want to bind for e.g user
  3. Add @Input() decorator before the object declaration
  4. your HTML file will look like this when binding element object(in serverComponent) and serverElements array(in app.component)

3 October 2017

Angular basic knowledges, installing, adding bootstrap, and two ways data binding

  1. Untuk memulai menggunakan framework Angular, kamu harus menginstall node terlebih dahulu. Pergi ke Node browser, lalu ikuti instruksi untuk mendownload node.js
  2. Setelah itu pergi ke terminal, lalu ketik npm install -g @angular/cli untuk menginstall angular command line interface. kunjungi websitenya untuk mendapatkan informasi lebih lanjut Angular CLI
  3. untuk memulai suatu project ketik ng new <yourappname>
  4. lalu masuk ke folder applikasi kamu dengan mengetik cd <yourappname>
  5. lalu jalankan applikasi kamu dengan mengetik ng serve cek applikasi kamu dengan membuka browser dan ketik localhost:4200
  6. Untuk menambahkan bootstrap, caranya install bootstrap melalui npm npm install bootstrap --save lalu buka folder .angular-cli.json dan tambahkan di bagian "styles" "../node_modules/bootstrap/dist/css/bootstrap.min.css"
  7. Data binding satu arah dari HTML ke Business logic biasanya dilakukan menggunakan event handling <button (click) = "YourMethod()"> atau <input type="text" (input) = "YourMethod($event)">
  8. Sebaliknya, data binding satu arah dari Business logic ke HTML biasanya dilakukan menggunakan property binding <button [disabled]="sex === 'male'">
  9. Untuk melakukan komunikasi dua arah antara typescript(Business Logic) dan Template(HTML) kita bisa mengunakan data binding dua arah <input type="text" [(ngModel)] = "data">