Javascript AngularJS在第二次渲染时显示花括号
我在获取$scope.$apply调用以正确工作时遇到一些困难 一点背景资料。我正在将部分应用程序转换为使用angular。为了做到这一点,我实际上是将数据注入一个角度工厂并触发一个事件,以便将更改应用到已引导的角度范围 我的第一批模块工作正常。它像我期望的那样将数据输出到我的模板中,我在模板中使用ng标记。我倾听一个事件以应用如下范围:Javascript AngularJS在第二次渲染时显示花括号,javascript,angularjs,templates,scope,Javascript,Angularjs,Templates,Scope,我在获取$scope.$apply调用以正确工作时遇到一些困难 一点背景资料。我正在将部分应用程序转换为使用angular。为了做到这一点,我实际上是将数据注入一个角度工厂并触发一个事件,以便将更改应用到已引导的角度范围 我的第一批模块工作正常。它像我期望的那样将数据输出到我的模板中,我在模板中使用ng标记。我倾听一个事件以应用如下范围: $scope.$on('list:updated', function(event, data){ $scope.$apply(function(
$scope.$on('list:updated', function(event, data){
$scope.$apply(function(e){
$scope.list = data;
});
});
列表变量在我的标记中使用,正如我所说,这在第一次使用时非常有效。当导航离开有角度的部分,然后重新访问时,我第二次得到一个未渲染的模板。所以我看到这样的事情
{{ document.Title }}
在我的标记中插入文档标题,就像第一次加载时一样。我知道您只能引导应用程序一次,因此我这样做是为了说明:
if (Angular.element(document).scope() === undefined){
bootstrap = Angular.bootstrap(document, ['listModule']);
}
else{
bootstrap = Angular.element(document).injector();
}
从这个喷油器上,我得到了上面提到的工厂,并触发了相同的列表:更新事件。关于如何进行有什么想法吗
请让我知道我可以回答哪些问题来帮助解决这个问题
非常感谢您提供的任何帮助 试着像-
ng-bind='document.Title'
希望,这将对您有所帮助。我怀疑,虽然您正在导航,但事件没有被销毁,并且您的事件会被第二次注册,这可能会拦截您的呼叫,从而阻止正确的作用域触发摘要循环。一个砰的一声会很有帮助的。嗨@david-l谢谢你的回复。我尝试在(“$destroy”)上的$scope.$on上使用解除绑定事件。下面是一些示例代码:pastebin.com/mvDRZNzEThis在DOM中产生了不需要的效果。我开始把[object]object弄得到处都是。