Sono un principiante di angularjs. Sto costruendo un'applicazione in cui la mia home page avrà un elenco di post. Ho pensato di usare angularjs per il bind a due vie solo per quella pagina. Ho iniziato con una pagina di esempio, ma ho riscontrato problemi qui.L'argomento Angularjs non è una funzione ottenuta stringa
La mia pagina di esempio. Sto usando ng-app per questo div in quanto non voglio angularjs per interagire con altri aspetti della pagina.
<div ng-app="posts">
<ul class="post_list" ng-controller="PostController">
<li ng-repeat="post in posts">
{{post.title}}
{{post.description}}
</li>
</ul>
</div>
Ho un file app.js che ha
var app = angular.module('posts', []);
e un file postcontroller.js con
(function(angular, app) {
// Define the Controller as the constructor function.
console.log(app);
console.log(angular);
app.controller("PostController",["$scope"], function($scope) {
$scope.posts = [
{"title":"asdf", "description":"describe"},
{"title":"second one", "description":"second describe"},
];
});
})(angular, app);
quando carico la mia home page. Sto ottenendo
Error: argument "PostController" is not a function. got string [googlecdn path]angular.min.js:16
Cosa mi manca qui. Per favore aiutami dato che sono totalmente confuso. Sono nuovo di angularjs e anche in javascript.
ha funzionato bene dopo queste modifiche. Puoi indicarmi qualche risorsa che spiega perché questa sintassi funzioni con la minimizzazione? Grazie per l'aiuto. –
@ R.A.J dai un'occhiata alla sezione "Annotazione delle dipendenze" in http://docs.angularjs.org/guide/di –
Funzione di manomissione dei minisiti e nomi degli argomenti ma non dei letterali String. –