在 html 标签上声明 ng-app 和 ng-controller 是不好的
Is it bad to declare ng-app and ng-controller on html tag?
在
<html>
标签上同时声明ng-app
和ng-controller
是不好的做法吗?
例如:<html class="no-js" ng-app="myApp" ng-controller="MainCtrl">
这算不算不好的做法?我正在尝试动态控制应用程序的 <title>
标记,因此我想尽早声明MainCtrl
控制器,因为它的范围在应用程序的其余部分中很重要。
然后,我可以在MainCtrl
控制器中使用<title>{{settings.title}}</title>
,并让子控制器通过$scope.$parent.settings.title = "hello world";
访问它
您应该能够通过$window
抽象访问和设置标题,从而消除了在html
标签上放置控制器的需要。
我认为
到目前为止不会有任何问题。唯一的影响是根范围不再可从 html 标记中读取,因为控制器范围正在覆盖它。
例如
<div id="parent" ng-app>
<div id="child" ng-controller='...'>
$rootScope.$id = 002 // rootscope from $rootscope service
$("#parent").scope().$id =002 // rootscope scope get from element scope
$("#child").scope().$id =003 // controller scope get from element scope
当涉及到相同的标记时,
<div id="parent" ng-app ng-controller='...'>
$rootScope.$id = 002 // rootscope from $rootscope service
$("#parent").scope().$id =003 // controller scope get from element scope
在这里,您无法从元素范围获取rootscope,但谁在乎呢。
相关文章:
- 如何为通过ng-view指令或ng-controller指令创建的每个新作用域设置侦听器
- ng-controller工作,UI路由器:控制器不是
- ng-指令在ng-Controller之前被调用,将数据绑定到HTML
- 在 html 标签上声明 ng-app 和 ng-controller 是不好的
- Angular Js ng-controller没有填充该值
- 在同一控制器(ng-controller)的不同实例之间共享数据
- Angularjs compile ng-controller html
- ng-controller加载后DOM准备好没有被Angular拾取
- AngularJs - transclude break the ng-controller
- 在Angular的dom元素上使用两次ng-controller
- Angularjs在应用配置中的控制器名vs ng-controller
- Angular.js中的多个ng-controller无法工作
- ng-bind-html and ng-controller
- 为什么我的ng-controller没有被调用?
- 在Angular JS中,是否可以动态设置ng-include或ng-controller ?
- 在运行时动态分配ng-controller
- Angular - 被 ng-Controller 覆盖的 FormController
- 如何检测HTML页面上是否存在ng-controller
- 如何添加提交功能到我的ng-controller
- ng-controller Angular大写输入