AngularJS在第二次渲染时显示大括号

问题描述:

我在获取$ scope的过程中遇到了一些困难$ apply call正常工作。AngularJS在第二次渲染时显示大括号

有点背景资料。我正在将我的应用程序的某些部分转换为使用angular的过程。为了做到这一点,我实际上是将数据注入到Angular工厂中,并触发一个事件,以便将更改应用到已引导的角度范围。

我模块的第一次加载正常。它将数据按我期望的输出到我使用ng-each标记的模板中。我听应用范围,像这样的事件:

$scope.$on('list:updated', function(event, data){ 
     $scope.$apply(function(e){ 
      $scope.list = data; 
     }); 
}); 

列表变量是我的标记内使用,就像我说的,这个伟大工程的第一次围绕。当从有角度的部分导航,然后重新访问时,我第二次得到一个未渲染的模板。所以我看到像

{{ document.Title }} 

在我的文件标题的标记intead像我在第一次加载。据我所知,你只能引导一个应用一次,所以我这样做,以说明:

if (Angular.element(document).scope() === undefined){ 
    bootstrap = Angular.bootstrap(document, ['listModule']); 
} 
else{ 
    bootstrap = Angular.element(document).injector(); 
} 

关闭该喷射器的,我得到了我厂上面提到的,和火一样的列表:更新的事件。关于如何进行的任何想法?

请让我知道我可以回答什么问题来帮助解决问题。

非常感谢您提供的帮助!

+0

我怀疑你虽然是客场导航,事件不被破坏和您的事件被注册第二次,这可能会拦截你的呼叫,阻止正确的范围触发摘要循环。一个plunkr会有帮助。 –

+0

嗨@ david-l感谢您的回复。我尝试使用$ scope($'''')取消绑定事件。以下是一些示例代码:pastebin.com/mvDRZNzE –

尝试使用NG绑定等为 -

ng-bind='document.Title' 

希望,这将帮助你..

+0

这在DOM中产生了不需要的效果。我开始在所有地方得到[物体]物体。 –