Почему этот простой скрипт angularjs не работает?

Простой скрипт для печати данных с использованием контроллера. Я не знаю, где я делаю это неправильно.. код состоит из index.html, app.js и mail-list.component.js. mail-list.component используется для создания шаблона для просмотра и регистрации контроллера.

index.html

<!doctype html>
<html lang="en" ng-app="mailApp">
<head>
<meta charset="utf-8">
<title>Mail System</title>
<link rel="stylesheet" href="css/style.css">
<script src = "angular.min.js"> //angular 2
</script>
<script src="app.js"></script>
<script src="mail-list.component.js"></script>
</head>

<body>
<!--use a custom component to render the mails-->
<mail-list></mail-list>
</body>
</html>

app.js

'use strict';
// Define the 'mailApp' module
angular.module('mailApp', []);

почта-list.component.js

'use strict';
// Register `mailList` component, along with its associated controller and template

    angular.
      module('mailApp').
        component('mailList',{
          template:
        '<span ng-repeat="mail in $ctrl.mails"> '+
        '<input type="checkbox"><b>{{mail.sender }}:<i> {{mail.subject}}</i></b> {{ mail.message}}</span>',

      controller: function MailListController(){
        this.mails=[
          {
            sender: 'Monu',
            subject: 'Regarding Gate',
            message:'start preparing or gate 2017 exam, dont miss this time'
          },{
                sender: 'Shiv',
                subject: 'College Over',
                message:'B.tech is over, now i am a graduate, hurrey!!'
          },{
            sender: 'Monu',
            subject: 'Regarding bag',
            message:'purchase a new bag for me '
          }

        ];
      }

    });

3 ответа

Решение

Вы используете угловую версию 1.4.9, в то время как компоненты были представлены только в угловой версии 1.5.*

Смотрите руководство по миграции для более подробной информации.

Как сказал Казимирас, угловая версия не поддерживает component(),

В дополнение к его руководству я рекомендую этот компонент polyfill от Todd Motto для переноса компонентов в Angular 1.3+.

Похоже, вам не хватает атрибута ng-app в теге.

Другие вопросы по тегам