Restangle方法被执行两次1次调用

时间:2015-04-16 19:00:56

标签: javascript angularjs restangular


我是Angularjs新手和Restangular noob 这是我的问题:

在我的主控制器上,我有这个:

angular.module('examplesiteApp')
  .controller('MainCtrl', function ($scope,$location,Restangular) {

    Restangular.setBaseUrl('http://api.example.com/api/v1/');
    var baseAccounts = Restangular.all('auth/register/');
    console.log(baseAccounts);

在这个命令中,我得到了两个在我的控制台中记录的元素(相同)。

我已经阅读了类似的问题,并说ng-controller$routeProvider一起导致问题。

这是我的app.js

.config(function ($routeProvider, $locationProvider,uiGmapGoogleMapApiProvider) {
    uiGmapGoogleMapApiProvider.configure({
        key: 'secret_shit_or_not',
        v: '3.17',
        libraries: 'geometry,visualization,places'
    });
    $routeProvider
      .when('/', {
        templateUrl: 'views/home/slider.html',
        controller: 'MainCtrl'
      })

模板如下:

<body ng-controller="GeneralCtrl">
    <!--[if lt IE 7]>
      <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
    <![endif]-->
    <!-- Add your site or application content here -->
    <div ng-include src="'views/main.html'"></div>
    <div ng-view></div>

取决于url ng-view获取定义的值(动态过程)。 GeneralController是一个简单的控制器:

angular.module('peersiteApp')
  .controller('GeneralCtrl', function ($scope , $location) {
    $scope.awesomeThings = [
      'HTML5 Boilerplate',
      'AngularJS',
      'Karma'
    ];
    $scope.isAt = function(route){
      return route === $location.path();
    };
  });


你能告诉我为什么我有两次Restangular射击吗?帮助我的Angular John雪。

1 个答案:

答案 0 :(得分:2)

找到解决方案:

我在子视图中调用了ng-controller。