2017-02-16 4 views
0

hat jemand eine Idee, warum: Nachricht wirft immer "undefined"? ich rufe die Seite mit "MyDomain.com/#AMessage"angularjs routing: param immer undefined

ctrl.js:

angular.module('AutApp', ['ngRoute']) 

.config(function($routeProvider){ 
    $routeProvider.when("/:message", 
    { 
     templateUrl: "index.html", 
     controller: "ctrl" 
    } 
); 
}) 

.controller('ctrl', function($routeParams) { 
    document.getElementById("test").innerHTML = $routeParams.message; 
}); 

index.html:

<!DOCTYPE html> 
<head></head> 
<body ng-app="AutApp" ng-controller="ctrl"> 
    <div id = "test"></div> 
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js"></script> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-route.js"></script> 
    <script src="ctrl.js"></script> 
</body> 
</html> 

Vielen Dank für Ihre Hilfe!

Antwort

1

Sie verwenden ng-route nicht ordnungsgemäß. Sie müssen eine Sicht definieren. Die Vorlage für die Ansicht kann nicht index.html sein, da diese Seite der Stamm Ihrer Anwendung ist. Ihr Controller sollte mit der Route verknüpft sein. More info on ng-route

<!DOCTYPE html> 
<body ng-app="AutApp"> 
    <div ng-view></div> 

    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js"></script> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-route.js"></script> 
    <script> 

    angular.module('AutApp', ['ngRoute']) 

    .config(function($routeProvider){ 
     $routeProvider.when("/:message", 
    { 
     template: '<div id = "test"></div>', 
     controller: "ctrl" 
    } 
); 
}) 

.controller('ctrl', function($routeParams) { 
    document.getElementById("test").innerHTML = $routeParams.message; 
}); 

</script> 

+0

Vielen Dank! – Irondonut