Quantcast
Channel: ppedv Team Blog
Viewing all articles
Browse latest Browse all 1198

Angular Controller as

$
0
0

Wenn ich so darüber nachdenke, gibt es in Angular.js mindestens immer zwei Möglichkeiten eine Aufgabe zu lösen. Eine Direktive kann eine Funktion oder ein JSON Objekt zurück liefern. Ein Service kann eine Factory oder ein Service sein. Alles leicht verwirrend. In die Kategorie, muss das auch noch sein, fällt die Scope Freiheit eines Controllers.

Üblicherweise wird jedem Controller der Scope per Dependency Injection üergeben und damit eine Singleton Instand erstellt. Es gib auch eine Alternative Variante ohne $Scope.

Dabei wird eine “Controller as” Syntax eingesetzt, die sozusagen einen Alias erzeugt, der dann als Objektträger herhalten muss.

   1:  <div ng-controller="mycontroller as hannes">
   2:          {{hannes.count}}
   3:  <button ng-click="hannes.click()">plus</button>
   4:  </div>
   5:  

 

Der zugehörige Controller wird aber gänzlich anders codiert. Zunächst wird wie üblich die App als Modul erzeugt und darin ein Controller definiert, der auf eine Controller Methode verweist. Dieser ist allerdings Parameterlos. Die Propertys des Scopes werden per this erzeugt. Das fühlt sich aus C# Entwicklersicht fast natürlich an.

JavaScript typisch, wird per Prototype das bestehende Objekt um eine Funktion, hier click, erweitert.

   1:  var App = angular.module('App', []);
   2:    App.controller('mycontroller', myfunction)
   3:  function myfunction() {
   4:  this.count = 0;
   5:      };
   6:   myfunction.prototype.click= function () {
   7:  this.count++;
   8:     };

 

Auch wenn ich die Variante mit $scope optisch weniger gelungen finde, werde ich wegen der Konsistenz innerhalb von Angular diesen Weg nicht verwenden.


Viewing all articles
Browse latest Browse all 1198

Trending Articles


FORECLOSURE OF REAL ESTATE MORTGAGE


From Male to Female


Pokemon para colorear


Sapos para colorear


OFW quotes : Pinoy Tagalog Quotes


Ligaw Quotes – Courting Quotes – Sweet Tagalog Quotes


RE: Mutton Pies (frankie241)


Ka longiing longsem kaba skhem bad kaba khlain ka pynlong kein ia ka...


Vimeo Create - Video Maker & Editor 1.5.2 by Vimeo Inc


Vimeo 10.7.1 by Vimeo.com, Inc.


UPDATE SC IDOL: TWO BECOME ONE


KASAMBAHAY BILL IN THE HOUSE


Girasoles para colorear


Smile Quotes


Long Distance Relationship Tagalog Love Quotes


Re:Mutton Pies (lleechef)


Re: lwIP PIC32 port - new title : CycloneTCP a new open source stack for...


Hato lada ym dei namar ka jingpyrshah jong U JJM Nichols Roy (Bah Joy) ngin...


Vimeo 10.7.0 by Vimeo.com, Inc.


Vimeo 11.8.1 by Vimeo.com, Inc.