Alternatywą do $ zakresu kątowego 2,0

głosy
31

W Kątowymi 2,0, nie będzie $scope.

Co jest alternatywą dla tego? Jak będę mógł wymieniać dane między składnikami? Czy scopeopcja będzie dostępna w dyrektywach? Bardziej praktycznie, jest tam obecny alternatywą że mogę zapoznać się z?

Jestem świadomy controller as, ale czytałem, że sterowniki zostaną wyeliminowane zbyt.

Mylić na taką rewolucję kątowej zespół został uruchomiony.

Utwórz 13/11/2014 o 22:34
źródło użytkownik
W innych językach...                            


6 odpowiedzi

głosy
3

Nie martwiłbym się o 2,0 w ​​ogóle. Kątowa zespół stwierdził, że:

Jest zbyt wcześnie, aby rozpocząć budowanie czegokolwiek z kodem 2.0 - jesteśmy jeszcze na bardzo wczesnym etapie budowy projektu.

Próbuje dowiedzieć się, że coś jest tak wcześnie w rozwoju mogą w dużej mierze skończyć się ogromna strata czasu. W takiej sytuacji, jeśli chcesz uzyskać szybki start na Kątowymi 2,0, nowy router, który został wprowadzony z 1.3 - jak na razie - router zamierzają na temat korzystania przez 2,0

Odpowiedział 13/11/2014 o 23:39
źródło użytkownik

głosy
5

Korzystanie controller asjest dobrym sposobem, aby przyzwyczaić się do pracy bez $scopechociaż nadal będziesz potrzebować $scopekilku rzeczy jak obserwatorów i wydarzeń. Sterowniki nie są naprawdę usuwane w Kątowymi 2,0. Ale nie będzie odpowiednikiem ng-controller. Zamiast kontrolery i widoki po prostu trzeba dyrektyw, które zasadniczo zawierają znacznika kontrolera i widoku.

Odpowiedział 20/11/2014 o 17:06
źródło użytkownik

głosy
34

Kątowe 2.0 używa thiszamiast $scope.

Jedną z głównych zmian nadchodzących w 2.0 jest śmierć kontrolera, a nowy nacisk na komponentach. Dużą zaletą w kierunku aplikacji opartych na komponentach jest to, że łatwiej jest określić ich interfejsów; plus elementy HTML mają już łatwo odwzorowywalne interfejs w wydarzeniach, atrybuty i właściwości.

Zobacz migracja angularjs 1,3 do 2,0 tutaj . Również zobaczyć pełną dokumentację Kątowymi 2,0 tutaj

Odpowiedział 28/11/2014 o 04:19
źródło użytkownik

głosy
3

Kątowa 2 nie udostępniać danych pomiędzy komponentami jak kanciasty 1 zrobił. Zamiast tego, co robią, jest przechodząc w dół dane za pomocą go wewnątrz szablonu i przechodzącej się wydarzeń (tylko przy użyciu zachowania pęcherzyków, które zdarzenia mają domyślnie). I masz dostęp do danych z wzoru za pomocą klasy komponentów (Zobacz na 1000000000 „kanciasty 2 - jak zacząć” wideo na Youtube, jeśli nie masz pojęcia co to znaczy przez klasę).

Odpowiedział 02/02/2016 o 10:56
źródło użytkownik

głosy
14

W Angular2 używać wspólnych usług zamiast $scope https://angular.io/docs/ts/latest/cookbook/component-communication.html

@Injectable()
class SharedService {
  someState:String;
  someEventStream:Subject<String> = new Subject<String>();
}
@Component({
  selector: ...,
  providers: [SharedService] 
})
class MyComponent {
  constructor(private sharedService:SharedService) {}
}

Dla każdego dostawcy ( [SharedService]to skrót [{provide: SharedService, useClass: SharedService}]), w powyższym przykładzie, jeden przykład jest zachowana.

Zakres takiego operatora jest składnikiem gdzie to jest i to potomkowie gdy potomek nie ma tego samego dostawcy zarejestrowany.

Kiedy składnikiem żąda uzależnienia constructor(private sharedService:SharedService), Angulars DI (wtrysk zależność) rozpoczyna patrząc na własnych dostawców komponentów, a następnie w górę w kierunku głównego składnika, a następnie dostawców zarejestrowanych w bootstrap. Zwraca pierwszy znajdzie.

Jeśli dwa elementy dostał tę samą instancję (od tego samego dostawcy) wtryskiwana, a następnie mogą komunikować się za pomocą tej usługi przez subskrybowania i emitując wydarzeniach Subjectlub odczytu i zapisu stanu lub poprzez wywołanie metody na usługi.

Odpowiedział 05/08/2016 o 04:01
źródło użytkownik

głosy
0

Możemy to zrobić w kanciasty bez wstrzykiwania usługę do klasy komponentów. Dzięki zastosowaniu rxjs temat, „Zachowanie Temat”, który niesie nasze dane spełniające ten sam wymóg jako zmiennej $ zakres

Oto stackblitz przykład gdzie wyeksportować const letterw sub.service.tsktórym jest zapisany w niezbędne składniki.

Odpowiedział 21/06/2018 o 11:53
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more