2015-03-15 3 views
0

Я написал простой пример маршрута в angularjs. Я не знаю, почему это не работает? не получать сообщений об ошибках. После ввода страницы я получаю сообщение «A-Mail» из заголовка h1.SImple AngularJS Пример маршрута не работал

index.html

<!DOCTYPE html> 
<html ng-app="AMail"> 
    <head> 
     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> 
     <script src="controller.js"></script> 
     <title>A-Mail</title> 
     <meta charset="UTF-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    </head> 
    <body> 
     <h1>A-Mail</h1> 
     <div ng-view></div> 
    </body> 
</html> 

list.html

<table> 
    <tr> 
     <td><strong>sender:</strong></td> 
     <td><strong>subject:</strong></td> 
     <td><strong>date:</strong></td> 
    </tr> 
    <tr ng-repeat="message in messages"> 
     <td>{{message.sender}}</td> 
     <td><a ng-href="#/view/{{message.id}}">{{message.subject}}</a></td> 
     <td>{{message.date}}</td> 
    </tr> 
</table> 

detail.html

<div><strong>subject:</strong> {{message.subject}}</div> 
<div><strong>sender:</strong> {{message.sender}}</div> 
<div><strong>date:</strong> {{message.date}}</div> 
<div> 
    <strong>To:</strong> 
    <span ng-repeat="recipient in message.recipients">{{recipient}}   
</span> 
</div> 
<div>{{message.message}}</div> 
<a href="#/">Back</a> 

controller.js

var aMailServices = angular.module('AMail', []); 

function emailRouteConfig($routeProvider) { 
    $routeProvider. 
    when('/', { 
     controller: ListController, 
     templateUrl: 'list.html' 
    }). 
    when('/view/:id', { 
     controller: DetailController, 
     templateUrl: 'detail.html' 
    }). 
    otherwise({ 
     redirectTo: '/' 
    }); 
} 

aMailServices.config(emailRouteConfig); 

messages = [{ 
    id: 0, 
    sender: '[email protected]', 
    subject: 'asdasd', 
    date: 'Dec 8, 2012 12:12:12', 
    recipients: ['[email protected]'], 
    message: 'asdasd'+ 
     'asdasd' 
}, { 
    id: 1, 
    sender: '[email protected]', 
    subject: 'asdasd', 
    date: 'Jan 12, 2013 23:12:45', 
    recipients: ['[email protected]'], 
    message: 'asdasd'+ 
     'asdasd' 
}, { 
    id: 2, 
    sender: '[email protected]', 
    subject: 'asdasd', 
    date: 'Apr 12, 2015 19:19:34', 
    recipients: ['[email protected]'], 
    message: 'asdasd'+ 
     'asdasd' 
}]; 

function ListController($scope) { 
    $scope.messages = messages; 
} 

function DetailController($scope, $routeParams) { 
    $scope.message = messages[$routeParams.id]; 
} 

кого-нибудь есть идеи?

ответ

0

Я думаю, вы можете просто нужна зависимость 'ngRoute'

... 
angular.module('AMail', ['ngRoute']); 
... 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-route.js"></script> 
+0

Да, это работает :) – Kuba

+0

Я думал, что основное звено уже все услуги ... – Kuba

+0

Есть много модулей, чтобы они отделялись - HTTP : //cdnjs.com/libraries/angular.js/ – Dylan

Смежные вопросы