angular.element(document).ready()之后的角度模板范围访问

时间:2013-12-27 14:11:11

标签: javascript jquery angularjs symfony twig

我对Angular很新。 现在尝试Symfony2 + AngularJS组合,我遇到了以下问题:

在我的内部index.html中,我有这个:

<script>
   global = {};
     $(document).ready(function() {
     global.test = {{ test|json_encode|raw }} //From Twig to JS;
});
</script

在我的控制器中,我有以下内容:

 angular.element(document).ready(function () {
    $scope.test = global.test; // From JS global to Controller Scope
});

现在,当我在模板中有以下内容时,它没有显示任何内容:

<!-- I have {[{ '' }]} instead of {{ '' }} for use of AngularJS to prevent conflict -->
<div>
     <h1>{[{test}]}</h1> //Prints nothing..
</div>

我认为这是因为(ofcourse)DOM和Angular正在同时呈现,之后(document).ready()函数执行。 我希望在(document).ready()中分配的内容在视图/模型中可用。

我该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:0)

感谢charlietfl的评论,我意识到(文档).ready()函数是我自己创建的问题。我只是用一种非常不合逻辑的方法使整个事情过于复杂化。

在HTML中:

<script>
  var global = {};
      global.test = {{ test|json_encode|raw }};
</script> 

角度控制器:

$scope.test = global.test;

HTML文件角度绑定:

 {[{ test }]}