2016-04-06 12 views
4

Ich versuche, eine Funktion in Klick-Funktion von meiner HTML-Seite, hinzugefügt alle Typoskript-Definition-Dateien von nugget aber etwas schief geht Meine Klick-Funktion funktioniert nicht ... . Kein Fehler in der Konsole selbstEinfache ng-Klick funktioniert nicht in Typoskript

Hier ist mein Hrml und Controller-Code

HTML-Seite

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 


<head> 
    <script src="Scripts/angular.js"></script> 

    <script src="test.js"></script> 
    <title></title> 

</head> 
<body ng-app="testModule"> 
    <div ng-controller="test"> 
     <input type="button" ng-click="click()" value="test" /> 
    </div> 
</body> 
</html> 

Con Troller

angular.module("testModule", []); 

class test { 

    constructor() { } 

    click() { 

     alert(); 
    } 
} 


angular.module("testModule").controller("test", test); 

Antwort

11

Das funktioniert nicht, weil ng-click="click()" versucht $scope.click() zu nennen, die nicht definiert ist.

Ich würde Ihnen raten, in hohem Grade die controller as -Syntax zu verwenden, wenn mit AngularJS und Typoskript

Demo

+0

Dank bro, brach meinen Kopf für etwa 2 Stunden, wie einen bösen Fehler ..ich in der Regel app.js Routing verwenden und dort Controller mit Alias ​​definieren vm aber vergaß die Grundlagen beim Einbinden in eine Seite! Danke für die Hilfe!! – sudhir

+0

können Sie auch auf dieser http://stackoverflow.com/questions/36482539/unable-to-access-rootscope-property-declared-in-one-controller-in-other-in-angu helfen ??? – sudhir

3

Hier ist die korrigierte Code arbeiten. Markiere das nicht als Antwort, @Aides ist hier vor mir angekommen.

HTML-Seite

<!DOCTYPE html> 
<html> <!-- its 2016 --> 
<head> 
    <script src="Scripts/angular.js"></script> 

    <script src="test.js"></script> 
    <title></title> 

</head> 
<body ng-app="testModule"> 
    <div ng-controller="Test as test"> 
     <input type="button" ng-click="test.click()" value="test" /> 
    </div> 
</body> 
</html> 

-Controller

angular.module("testModule", []); 

class Test { 

    click() { 
     alert(); 
    } 
} 

angular.module("testModule").controller("Test", Test); 
+0

Ich markiere es nicht als Antwort: -p aber danke, dass du dir Zeit genommen hast und kurz eine Antwort geschrieben hast! – sudhir