Powiedzmy, że mamy namecontroller w Angularjs. Możesz zdefiniować takie zmienne:

this.name = 'Joe';

Lub:

$scope.name = 'Joe';

Zawsze lubię dzwonić do wszystkich zmiennych za pomocą notacji obiektu:

<form ng-controller="NameController as nameCtrl">
  <input type="text" ng-model="nameCtrl.name">
</form>

Działa to tylko wtedy, gdy używam "tego" notacji w kontrolerze. Kiedy używam $scope, muszę zadzwonić do "nazwy" bez nameCtrl. aby to było działać.

Oczywiście tęsknię za bardzo podstawowymi podstawami tutaj, ale po wykonaniu badań wciąż utknąłem. Jak mogę zachować jak najwięcej nazewnictwa obiektu w moim kodzie HTML?

1
Gersom 15 sierpień 2014, 17:19

1 odpowiedź

Kątowy JS ma funkcję ControllerAs. To jest to, czego teraz używasz. Odwołujesz się po prostu obiekt nameCtrl do NameController obiekt. I otrzymasz wartość nazwy za pomocą klonu obiektu kontrolera. Wyobraź sobie, że this jest tylko wskaźnikiem do $scope

Oto ładne wprowadzenie techniczne: Sterowniki kątowe

Jeśli chcesz użyć obiektów wszędzie, możesz użyć Angular Service wstrzykiwany do kontrolera, dzięki czemu można łatwo zadzwonić do dowolnego obiektu z usługi w każdym sterowniku.

0
Ahmet Can Güven 15 sierpień 2014, 13:43