javascript – Angularjs参数不是一个函数获取字符串

我是一个新来的角色。我正在建立一个应用程序,我的主页将有一个帖子列表。我想到使用angularjs来单独绑定该页面。我从一个样本页开始,但是本身就遇到了问题。

我的示例页面我正在使用ng-app作为这个div单独,因为我不想要角度与页面的任何其他方面进行交互。

<div ng-app="posts">
  <ul class="post_list" ng-controller="PostController">
    <li ng-repeat="post in posts">
    {{post.title}}
    {{post.description}}
    </li>
  </ul>
</div>

我有一个app.js文件

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

和一个postcontroller.js文件

(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);

当我加载我的主页。我正进入(状态

Error: argument “PostController” is not a function. got string
[googlecdn path]angular.min.js:16

我在这里失踪了请帮我,因为我完全困惑。我是新来的,也是javascript。

问题在于您声明控制器的方式。你应该如下所示:

app.controller("PostController",["$scope", function($scope) {
    $scope.posts = [
      {"title":"asdf", "description":"describe"},
      {"title":"second one", "description":"second describe"},
    ];
  }]);

请注意,第二个参数是一个数组,其中包含一个$ scope字符串和一个函数作为数组的元素。这是一种适用于编写安全密码的语法。

翻译自:https://stackoverflow.com/questions/17219431/angularjs-argument-is-not-a-function-got-string

转载注明原文:javascript – Angularjs参数不是一个函数获取字符串