Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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
Angularjs 在ng视图外部打印控制器变量_Angularjs - Fatal编程技术网

Angularjs 在ng视图外部打印控制器变量

Angularjs 在ng视图外部打印控制器变量,angularjs,Angularjs,我试图在ng视图div之外打印当前页面名称,但控制器无权访问该名称 例如: <nav> <li>{{currentPage}}</li> </nav> <div ng-view> <h1>Hello</h1> </div> 它不会打印出来,我怎样才能修复它 或者我应该在routeProvider中放置一个自定义变量并打印它 您的ng view控制器的范围在导航中

我试图在
ng视图
div之外打印当前页面名称,但控制器无权访问该名称

例如:

  <nav>
     <li>{{currentPage}}</li>
  </nav>
  <div ng-view>
     <h1>Hello</h1>
  </div>
它不会打印出来,我怎样才能修复它

  • 或者我应该在routeProvider中放置一个自定义变量并打印它

您的ng view控制器的范围在导航中不可用,因为它位于ng view之外。您可以为导航添加一个控制器,并设置$scope.currentPage指示该控制器

要将当前页面的名称从ng视图传递到nav控制器,有许多方法。其中一种方法是将$rootScope注入这两者,并使用$rootScope.$emit传递数据


另一种方法是将公共服务注入两个控制器。

ng controller=“controllerName”
应用于一个
,然后将上述HTML代码放入其中。所以它可能会工作实际上我不想这样做,因为它在每个页面上都是动态的,它应该会改变谢谢你,但是不可能直接从routeProvider传递变量,并访问视图吗?你可以添加视图:{..edit:{..然后添加templateUrl和controller}在$routeprovider中,然后在视图中使用它,例如:
,这意味着您可以用这种方式传递参数,但我不确定,因为我在$stateProvider中使用了这种方式
$scope.currentPage = 'Welcome to home page';