Używam klonu o nazwie https://github.com/angular/angular-seed, aby utworzyć prostą aplikację Angular.js. Próbuję wprowadzić pewne właściwości do kontrolerów, aby powiązać je w moim kodzie HTML, ale nadal otrzymuję komunikaty o błędach, których nie mogę wymyślić.Sterownik Angular.js nie może ustawić właściwości
Mój plik controllers.js wygląda obecnie:
'use strict';
/* Controllers */
angular.module('myApp.controllers', []).
controller('MyCtrl1', [function($scope) {
$scope.names = 'bob'
}])
.controller('MyCtrl2', [function() {
}]);
Oto app.js zbyt jeśli pomaga:
'use strict';
// Declare app level module which depends on filters, and services
angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives', 'myApp.controllers']).
config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view1', {templateUrl: 'partials/partial1.html', controller: 'MyCtrl1'});
$routeProvider.when('/view2', {templateUrl: 'partials/partial2.html', controller: 'MyCtrl2'});
$routeProvider.otherwise({redirectTo: '/view1'});
}]);
Użyłem domyślną nazwę dla aplikacji " myApp "i również nazwałem widok ng w moim kodzie HTML. Kiedy MyCtrl1 jest w użyciu ciągle dostaję ten błąd:
TypeError: Cannot set property 'names' of undefined
Czy jest tu coś syntaktycznie błędnego? Starałem się tylko zmodyfikować controllers.js Aby uniknąć problemów, więc nie powinno być problemów gdzie indziej ...
zapisane dzień, właśnie uczucie głupie tutaj! Dzięki! – elwis
Właśnie tutaj, spróbowałem użyć drugiego przykładu, (gdzie $ scope jest odwołany w tablicy), ale nie udało mi się go uruchomić, tylko pierwszy działał dla mnie: S na wypadek gdyby ktoś w innym przypadku próbuje się uruchomić drugi. – onaclov2000
@ onaclov2000 Prawdopodobnie jest to literówka ... czy masz przykład, że nie działa? Działa tutaj z najnowszą wersją: http://jsfiddle.net/hS9sn/ (ten sam kod działa również ze starszymi). – Langdon