此代码位于https://github.com/angular/angular-seed/blob/master/app/index.html
我觉得很奇怪。代码将所有ng-app
注释掉。 AngularJS如何加载模块myApp
?
<!DOCTYPE html>
<!--[if lt IE 7]> <html lang="en" ng-app="myApp" class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html lang="en" ng-app="myApp" class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html lang="en" ng-app="myApp" class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en" ng-app="myApp" class="no-js"> <!--<![endif]-->
答案 0 :(得分:2)
ng-app
指令用于引导AngularJS应用程序。这是应用程序的范围。
使用此指令自动引导AngularJS应用程序。 ngApp指令指定应用程序的根元素,通常放在页面的根元素附近 - 例如在或标签上。
在上面的代码中,注释适用于具有相应版本的IE。
<!--[if lt IE 7]> <html lang="en" ng-app="myApp" class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
这只会在IE 7中呈现。因此,将特定类添加到html
标记元素。这将允许我们专门为IE-7添加样式。
此外,如果您想使用某些代码专门用于IE-7
,这将非常有用实施例
if ($('html').hasClass('lt-ie7')) {
// IE 7 specific code
}
在CSS中的OR
.lt-ie7 mySelector {
}
什么是no-js
类?
这是一个 hack ,许多开发人员使用它来检测Javascript是否被禁用,以及从JS动态设置的CSS的回退样式。
如何吗
使用Javascript删除该类,并在禁用Javascript时将此类用作添加样式的祖先。
在CSS中:
.no-js mySelector {
/* JS is disabled */
/* Fallback to CSS */
}