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

时间:2018-04-04 14:18:08

标签: html angularjs angularjs-rootscope

我是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变量。

1 个答案:

答案 0 :(得分:0)

我设法找到一种方法,因为html部分与根作用域有连接,所以我可以使用angular来获取根作用域变量:   如:使用angular.element($(“#your div id”))。scope()获取html部分的范围,然后使用此范围访问根范围变量。希望这会有助于其他人。