angular es6



angular.module('mainCtrl',[])
  .controller('mainCtrl',() => {

    class Person {
      constructor($scope) {
        this.$scope = $scope;
      }
    }

    const human = new Person('Faisal')
    console.log(human);

  });

Mau tanya dong misalkan saya ingin ngedefinisikan $scope.nama di constructor gimana cara nya ya ?

avatar Famrulah
@Famrulah

12 Kontribusi 1 Poin

Diperbarui 6 tahun yang lalu

2 Jawaban:

Jawaban Terpilih

kalau mau passing nama saat deklarasi new Class, harusnya $scope dimasukkan ke controller, bukan ke class Person.

angular.module('mainCtrl',[])
  .controller('MainCtrl',($scope) => { // $scope di inject di sini

    class Person {
      constructor(name) { // variable untuk Person constructor jadi name
        this.name = name;
      }
    }

    $scope.human = new Person('Faisal')
    console.log($scope.human); // $scope.human.name = Faisal

  });

kalau saran saya dipisahkan antara Person dan MainCtrl, jadi class Person bisa di gunakan oleh controller lainnya

var app = angular.module('mainCtrl',[]);

class MainCtrl {
  constructor($scope) {
    $scope.human = new Person('Faisal');
    console.log($scope.human); // $scope.human.name = Faisal
  }
}

class Person {
  constructor(name) {
    this.name = name;
  }
}

app.controller('MainCtrl', MainCtrl);

hasilnya sama, tapi kalau di controller lain class Person juga dibutuhkan lebih baik pakai script kedua. tinggal disesuaikan kebutuhan aja

avatar rachmatsasongko
@rachmatsasongko

410 Kontribusi 426 Poin

Dipost 6 tahun yang lalu

oke makasih gan

avatar Famrulah
@Famrulah

12 Kontribusi 1 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban