2016-03-31 13 views
0

Ich habe Probleme mit ng-click. Ich habe die ng-click-Anweisung zur Schaltfläche hinzugefügt. Es löst nicht die mit ng-click verbundene Funktion aus. Im Angular Batarang-Tool werden die Funktionen nicht definiert.ng-click löst nicht die damit verbundene Funktion aus?

Ich habe das Problem in Plunker.It funktioniert. Und wenn ich den Dateipfad fest codiere, funktioniert es auch.

index.html Code

<!DOCTYPE html> 
<HTML ng-app="myEventApp"> 
    <head> 
     <meta charset="UTF-8"> 
    </head> 
    <body> 
      <h1 ng-controller="HelloWorldController">{{ helloMessage }}</h1> 
      <div ng-controller="EventDetail"> 
      </div> 
      <div ng-include="" src="fileName"></div> 
      <!--<ng-include src="fileName"></ng-include>--> 
      <!--<div ng-include="" src="'template/testing10000.html'"></div>--> 
      <button ng-click=incrementCounter()>Next</button> 
      <button ng-click=decrementCounter()>Back</button> 
      <script 
src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0/angular.js"></script> 
      <script src="js/app.js"> </script> 
    </body> 
</HTML> 

app.js Code

var app = angular.module("myEventApp", []); 

app.controller('HelloWorldController', ['$scope', function($scope){ 
     $scope.helloMessage = "Book Viewer"; 
}]); 


app.controller('EventDetail', ['$scope', function($scope){ 

     $scope.counter = 0; 
     $scope.fileName = 'template/testing1000'+$scope.counter+'.html'; 


     $scope.incrementCounter = function(){ 
       $scope.counter++; 
       $scope.fileName = 'template/testing1000'+$scope.counter+'.html'; 
       console.log($scope.counter); 
     } 

     $scope.decrementCounter = function(){ 
       $scope.counter--; 
       $scope.fileName = 'template/testing1000'+$scope.counter+'.html'; 
       console.log($scope.counter); 
     } 


}]); 
+0

Haben Sie nicht ins Detail gehen, aber Dateipfade harte Kodierung klingt wie Sie ein benötigen '' -Tag – Aides

+0

einen Tippfehler zu mir, als 'div' geschlossen und' ng-click' Ausdruck verwendet wird, das ist aus dem Zusammenhang heraus..https: //jsfiddle.net/t5qs0ta4/ – Rayon

Antwort

5

Sie erklärt die Funktionen innerhalb des EventDetail Controller, aber Sie haben die Tasten außerhalb des Controllers Container in den HTML-Code.

<div ng-controller="EventDetail"> 
    <div ng-include="" src="fileName"></div> 

    <button ng-click="incrementCounter()">Next</button> 
    <button ng-click="decrementCounter()">Back</button>  
</div> 
+0

Großartig. Es funktioniert jetzt wie ein Zauber. Ich wünsche dir einen tollen Tag. – forethought