Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs参数不是函数Get字符串_Javascript_Angularjs_Modularity - Fatal编程技术网

Javascript Angularjs参数不是函数Get字符串

Javascript Angularjs参数不是函数Get字符串,javascript,angularjs,modularity,Javascript,Angularjs,Modularity,我是angularjs的新手。我正在构建一个应用程序,我的主页将有一个帖子列表。我想到了使用angularjs单独为该页面进行双向绑定。我从一个示例页面开始,但在这里遇到了一些问题 我的样本页。我在这个div中单独使用ng应用程序,因为我不希望angularjs与页面的任何其他方面进行交互 <div ng-app="posts"> <ul class="post_list" ng-controller="PostController"> <li ng-r

我是angularjs的新手。我正在构建一个应用程序,我的主页将有一个帖子列表。我想到了使用angularjs单独为该页面进行双向绑定。我从一个示例页面开始,但在这里遇到了一些问题

我的样本页。我在这个div中单独使用ng应用程序,因为我不希望angularjs与页面的任何其他方面进行交互

<div ng-app="posts">
  <ul class="post_list" ng-controller="PostController">
    <li ng-repeat="post in posts">
    {{post.title}}
    {{post.description}}
    </li>
  </ul>
</div>
和一个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);
当我加载我的主页时。我越来越

错误:参数“PostController”不是函数。有绳子 [googlecdn路径]angular.min.js:16


我错过了什么。我完全糊涂了,请帮帮我。我对angularjs和javascript都是新手。

问题在于您声明控制器的方式。您应该按照如下所示进行操作:

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

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

在这些更改后工作正常。你能给我指一些资源来解释为什么这个语法与最小化一起工作吗?感谢您的帮助。@R.A.J请看一看缩小mangles函数和参数名称中的“依赖项注释”部分,但不是字符串文本。这个答案对我有帮助,但我的问题是关闭“]”不是在控制器的末尾,而是在注入的末尾。哎呀!)
app.controller("PostController",["$scope", function($scope) {
    $scope.posts = [
      {"title":"asdf", "description":"describe"},
      {"title":"second one", "description":"second describe"},
    ];
  }]);