为什么我不能只访问 HTML 的 <script> </script> 部分中的根作用域变量?

Why I can't just access the root-scope variable in the HTML's <script> </script> part?

我是 AngularJs 的新手,我正在构建一个简单的 AngularJs 网站,我已经设置了页面并且它按预期工作。但是当我尝试在 index.html 的脚本部分使用 rootscope 变量时。它总是给出错误:变量未定义。但是,我仍然可以在 index.html 的 html 部分使用变量。谁能告诉我为什么它会这样工作?以及如何解决? 谢谢。 这是我的简单 HTML 代码:

   <!DOCTYPE html>
<html data-ng-app="test" lang='laCo'>

  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge; IE=10; IE=9">
    <meta name="viewport" content="width=device-width, initial-scale=1" />

    <link rel="stylesheet"
    href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

   <script>
     $( function() {
            loaddivpage();
        });
    loaddivpage = function(){
        window.Final = user.userId;
        $( "#innerdiv" ).load("./app/chat/Dialog.html");
    }
   </script>
   </head>
   <body> 
   <div id ="webdiv">
      <div id = "innerdiv"> </div>
   </div>
    </body>
  </html>

这里我想加载一个Dialog.html到innerdiv中,它使用window.Final变量。注意:user.userId 是 rootscope 变量。

我设法找到了一种方法,因为 html 部分与根作用域有关,所以我可以使用 angular 来获取根作用域变量: 喜欢:通过使用 angular.element($("#your div id ")).scope() 获取 html 部分的范围,然后使用此范围访问根范围多变的。希望这会对其他人有所帮助。