2016-02-01 4 views
1

Не могу понять, почему текст, который я вводил в контроллер, не связан с представлением.AngularJs Controller не ссылается на просмотр

Я создал два файла javascript. app.js и MainController.js

Я следовал учебнику от Codecademy, чтобы воспроизвести подобный сценарий, но, вероятно, я пропустил кое-что очень рудиментарное, что я почему-то не могу понять.

Ниже приведены мои файлы:

index.html

<!DOCTYPE html> 
<html lang="en"> 

<body ng-app="myApp" ng-controller="MainController"> 
    <h1>{{title}}</h1> 

    <scipt src="js/app.js"></scipt> 

    <script src="js/controller/MainController.js"></script> 
</body> 

</html> 

app.js

var app = angular.module('myApp', []); 

MainController.js

app.controller('MainController', ['$scope', function ($scope) { 
    $scope.title = 'Hola!'; 
}]); 

Я думаю, что это может быть связано с тем, что мой главный контроллер находится в отдельном файле в файле app.js.

+0

вы пропустили добавить угловую ссылку ,, или вы не добавляли вопрос? у вас должна быть ошибка в консоли ,, –

ответ

1

Я думаю, что вы не загружая Угловое в главной странице (index.html), так что просто добавьте эту строку

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
+0

Это сработало, но я не понимал, что позиция этого имеет значение. Кажется, мне пришлось положить это, прежде чем я загрузил файл 'app.js'. – Justin

0

вам нужно объявить переменную приложения, прежде чем ссылаться на него в MainController.js

// MainController.js 
var app = angular.module('myApp'); 
0

Вам нужно добавить Angular.js вам голову .. Перед вами приложение. js Я думаю, что угловой теперь не загружен.

index.html

<head> 
    <title>{{title}}</title> 
    <script data-require="[email protected]" data-semver="1.5.0-rc.0" src="https://code.angularjs.org/1.5.0- rc.0/angular.js"></script> 
    <link rel="stylesheet" href="style.css" /> 
    <script src="app.js"></script> 
</head> 

<body > 
    <h1>{{title}}</h1> 
    {{1+1}} 
</body> 
</html> 

app.js

(function() { 
angular.module('myApp', []) 
    .controller('mainController', ['$scope', function($scope) { 
    $scope.title = 'Hello world!'; 
    }]); 
}()) 

ПРИМЕЧАНИЕ: Не объявить переменную app, как это на глобальном масштабе. которые могут быть перезаписаны чем-то еще, всегда старайтесь использовать IFFE и добавлять контроллеры в свой модуль и создавать другие модули, если вы хотите поместить службы в другой файл.

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