没有Console.logs显示在Chrome或ng-repeat中

时间:2015-08-19 20:54:43

标签: javascript html angularjs angular-ui-router

我不确定问题是什么,我假设我的角度路由方式是什么?如果有人能提供帮助,那将非常感激。

这是我的控制器,这里的控制台日志实际打印。

  app.controller('ClientCtrl',['$http','$scope',
  '$stateParams',function($http,$scope, $stateParams){
  var clientid = [$stateParams.id];
  var client = this;
  client.infos = []
  $http.get('../client.JSON').success(function(data){
    client.infos = data;
    console.log(client.infos)
  });
}]);

这是我的路线,我使用ui.router,因为我使用角度。客户路线是造成问题的路线。

planoxApp.config(['$stateProvider','$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
  $stateProvider
    .state('home', {
      url: '/home',
      templateUrl: '/templates/index.html',
      controller: 'MainCtrl',
    })
    .state('clients', {
      url: '/clients/{id}',
      templateUrl: 'clientsmain.html',
      controller: 'ClientCtrl'
    })
    .state('photoplans', {
      url: '/photoplans/:id',
      templateUrl: 'photoplanmain.html'
    });

}])

这是导致我出现问题的html文件

<h1>Hi! </h1>
  <div class="col-sm-6" ng-repeat="info in client.infos" >
    <p>{{info.active}}</p>
</div>
<script> console.log("this sucks") console.log(client.infos)</script>

这就是现在的控制台

enter image description here

我已经尝试了一切我能想到的东西让它工作,但目前没有任何作用。正如你所看到的,angular不会抛出错误,但是没有任何东西是从这个页面记录控制台,也不是ng-repeat工作。非常感谢任何帮助,提前谢谢。

1 个答案:

答案 0 :(得分:2)

您已经在屏幕截图中的控制台中以角度controller打印了一个结果。

似乎你应该为我们controllerAs设置控制器的别名,你可以在你的状态中声明别名,就像做controller: 'ClientCtrl as client'

一样

<强>标记

<h1>Hi! </h1>
  <div class="col-sm-6" ng-repeat="info in client.infos" >
    <p>{{info.active}}</p>
</div>

<强>国家

.state('clients', {
   url: '/clients/{id}',
   templateUrl: 'clientsmain.html',
   controller: 'ClientCtrl as client'
})

<强>更新

你无法从局部加载脚本,当它们通过部分html加载时它们永远不会被加载。虽然使用console.log(client.infos)永远不会有意义,但您如何看待角度上下文可用于全局脚本。

如果你想要这样的东西那么你可以看看this thread,但我个人的建议是你不应该为此而努力。