“尝试多次加载角度”警告-仅在初始页面加载时

阿斯温·拉玛克里希南(Aswin Ramakrishnan)

Tried to load angular more than once仅在最初加载页面时才得到警告。

由于此警告,我的绑定似乎无法正常工作。但是,当我重新加载页面时,我没有收到警告,所有内容似乎都已绑定并可以正常工作。

我没有使用任何路线或ui视图!(我看过其他SO帖子,但我认为它们不适用于我的情况)。

我仔细检查并确保只引用了Angular JS。在这一点上,我对Angular JS的使用非常简单。

我在布局/母版页中按此顺序引用了Angular JS-

jquery
jquery-ujs   // Rails Unobtrusive jQuery Adapter
jquery-ui
angular
foundation  // ZURB Foundation 6
turbolinks  // Rails Turbolinks

这是我的Angular模板的样子-

<body ng-app="test">
   <div ng-controller="TestController">
      <div ng-init="items = <%= items.to_json %>">
         <div ng-repeat="item in items">
           <p ng-bind="item"></p>
         </div>
      </div>
   </div>
</body>

items 是一个Rails对象,我基本上将其移交给Angular进行初始加载。

这是我在“布局”页面中的Javascript中的内容-

var app = angular.module('test', []);

这是我在“视图/内容”页面的Javascript中拥有的内容-

app.controller('TestController', ['$scope', '$http', '$compile',    function($scope, $http, $compile){ 
   // Some Functions
}]);

任何帮助将不胜感激!

注:Tried to load angular more than once警告显示出来的每一页我访问,除非我重新加载页面,我没有得到警告和绑定似乎正常工作。

这是截屏,访问了4个页面后未重新加载其中的任何一个-

在此处输入图片说明

重新加载页面后,我没有收到警告并且绑定正常工作。

阿斯温·拉玛克里希南(Aswin Ramakrishnan)

我终于解决了这个问题。不是Angular JS(或仅仅是Angular JS)的问题。

我删除了所有Angular JS代码,但仍收到警告。问题出在Turbolinks上

我相信有2个解决方案。

解决方案1-删除Turbolinks

我从“布局”页面的JS参考中删除了Turbolink,然后重新启动了服务器,一切似乎都正常进行。

这是我的javascript引用的样子-

jquery
jquery-ujs
jquery-ui
angular
foundation

如果您并未真正使用Turbolinks,则可以将其删除。

解决方案2-添加data-no-turbolink属性

我碰到了这个线程-在angularlinks中使用angularjs

但显然,标记的答案似乎对我不起作用。

正如其中一项评论所指出的那样,它的作用angular-1.0.6不大。

虽然,答案之一还是建议data-no-turbolink您在指定的标记处添加属性ng-app这就像一个魅力。

我的Angular版本是 1.4.8

因此,这是我的Angular模板现在的样子-

<body ng-app="test" data-no-turbolink>
  <div ng-controller="TestController">
     <div ng-init="items = <%= items.to_json %>">
        <div ng-repeat="item in items">
          <p ng-bind="item"></p>
        </div>
     </div>
  </div>
</body>

希望这对某人有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章