繁体   English   中英

错误:[ng:areq]参数'ActsController'不是函数,未定义

[英]Error: [ng:areq] Argument 'ActsController' is not a function, got undefined

我不断收到错误: 错误:[ng:areq]参数'ActsController'不是一个函数,未定义 我已经看到其他几个人也有类似的错误,通常是由于错别字造成的。 但是我不认为我在任何地方都拼错了控制器名称。

顺便说一下,我正在使用Angular和Rails。

app.js

var controllers, snowball_effect;

snowball_effect = angular.module('snowball_effect', [
    'templates', 
    'ngRoute', 
    'ngResource',
    'controllers'
]);

snowball_effect.config([
  '$routeProvider', function($routeProvider) {
    return $routeProvider
    .when('/', {
      templateUrl: "static_pages/index.html",
      controller: 'StaticPagesController'
    })
    .when('/acts/index', {
        templateUrl: "acts/index.html",
        controller: 'ActsController'
    });
  }
]);


controllers = angular.module('controllers', []);

controllers.controller("StaticPagesController", ['$scope', function($scope) {}]);
controllers.controller("ActsController", [
  '$scope', 
  '$routeParams', 
  '$location', 
  '$resource', 
  function($scope,$routeParams,$location,$resource) {
    $scope.acts = [
      {
        id: 1, 
        name: "Plant a Flower", 
        description: "Plant a flower in your garden or along the street."
        inspires: 1
      }
    ];
}]);

javascript / templates / acts / index.html

<div class="actions_body">
  <h2>Listing Actions</h2>

  <div ng-controller="ActsController" class="body">
    <table class="row">
      <thead>
        <tr>
          <th class="col-md-offset-1 col-md-2 active">
            <label>Name</label>
          </th>
          <th class="col-md-4">Description</th>
          <th class="col-md-2">Inspires</th>
          <th colspan="2" class="col-md-2">Modify</th>
        </tr>
      </thead>
      <tbody ng-repeat="act in acts">
        <td class="col-md-offset-1 col-md-2">{{act.name}}</td>
        <td class="col-md-4">{{act.description}}</td>
        <td class="col-md-2">{{act.inspires}}</td>
        <td><a href="#">Edit</a></td>
        <td><a href="#">Delete</a></td>
      </tbody>
    </table>

    <br>

    <a href="#">New Action</a>
  </div>
</div>

编辑:

现在我考虑了一下,我还有另一个问题。 每当我刷新页面时,主要部分都消失了。 我猜这个问题更多是特定于Rails / Angular的。

views / home / index.html.erb

<div ng-app="snowball_effect">
  <div class="view-container">
    <div ng-include="'layouts/index.html'"></div>
  </div>
</div>

资产/javascript/templates/layouts/index.html

<div ng-include="'layouts/navigation.html'"></div>

<div ng-view class="view-frame animate-view"></div>

资产/javascript/templates/static_pages/index.html

<div class="body">
  <div class="container">
    <div class="introduction">
      <h1>Welcome to Snowball Effect</h1>
    </div>
    <div class="body">
      <h2>A social media platform that brings people together in a spirit of community service.</h2>
    </div>
  </div>
</div>

因此,在layout / index.html中,导航栏可以很好地加载,但是ng-view仅在第一页加载之后。

app.js是否包含在index.html中?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM