Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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$范围在模板中不可访问_Javascript_Angularjs_Templates_Scope_Directive - Fatal编程技术网

Javascript AngularJS$范围在模板中不可访问

Javascript AngularJS$范围在模板中不可访问,javascript,angularjs,templates,scope,directive,Javascript,Angularjs,Templates,Scope,Directive,正如标题所概括的那样,我有一个模板,似乎无法访问我的$scope。写更多的信息。模板从另一个模板呈现为指令,如下所示: <site-overview class="site-overview float_left" ng-repeat="site in currentEngine.data.sites" site='site' provider='currentEngine' style="background-color: {{currentEngine.data.skin.skin_c

正如标题所概括的那样,我有一个模板,似乎无法访问我的$scope。写更多的信息。模板从另一个模板呈现为指令,如下所示:

<site-overview class="site-overview float_left" ng-repeat="site in currentEngine.data.sites" site='site' provider='currentEngine' style="background-color: {{currentEngine.data.skin.skin_color_2}}">
  </site-overview>
    (function(){
  'use strict';
  var singleSiteOverview = angular.module('stormforsStats.siteoverview',[]);

  singleSiteOverview.directive("siteOverview", [function(){
    return {
      restrict: "E",
      scope: {
        site:'=',
        provider: '='
      },
      templateUrl: "parts/pages/home/site-overview/site_overview.html",
      controller: 'siteOverviewCtrl',
      controllerAs: 'site'
    };
  }]);

  singleSiteOverview.controller('siteOverviewCtrl', ['$rootScope', '$scope', '$log', '$element', 'SERVER_DATA',
  function($rootScope, $scope, $log, $element, SERVER_DATA){
    $log.log($scope.site);
  }]);
})();
因此,此日志工作正常,但在模板中,我无法访问$root:

    <a href="http://{{site.host_name}}" target="_blank" alt="site not available">
  <h4 class="skin_main_color">{{site.site_name}}</h4>
</a>

供您参考,我没有在这里包括所有代码,只有与问题相关的代码(据我所知)


这不起作用。

正如其中一条评论所建议的,因为您使用的是“controller As”,所以隔离作用域变量绑定到作用域,而不是控制器,我猜这就是您无法从模板访问它的原因


这里有一个与github上的问题类似的问题:

您使用的是“controller as”,因此{{site.site\u name}}在您的控制器上引用了属性“site\u name”,但您没有这样的属性。是的,就是这样!这样盯着看太久了。只是一个副本-非常感谢!