Maison > Questions et réponses > le corps du texte
Comme le montre le code suivant, la directive layoutHeader est définie. D'après ma compréhension, il suffit de citer <layout-header></layout-header>
directement dans le html.
Je voudrais demander, voici
document.createElement('layout-header'); 有什么作用?是必须的吗?
Le code d'origine est le suivant :
angular.module('app').directive('layoutHeader', function () {
return {
restrict: 'E',
scope: {},
templateUrl: 'components/layout/header.html',
controller: 'LayoutHeaderCtrl'
};
});
document.createElement('layout-header');
滿天的星座2017-05-15 16:59:17
Ceci est uniquement pour le traitement de compatibilité. IE8 ne peut pas reconnaître les éléments personnalisés, mais ceux créés avec js le peuvent.
ringa_lee2017-05-15 16:59:17
document.createElement
C'est la méthode js fournie par le navigateur. Le DOM peut être généré à l'aide de code.
Vous pouvez simplement le citer directement dans le html, il n'est pas nécessaire de le créer dans le code.
给我你的怀抱2017-05-15 16:59:17
Utilisez simplement <layoutHeader></layoutHeader> directement dans le code html.
仅有的幸福2017-05-15 16:59:17
Est-ce un exemple de code ?
En fait, il s'agit simplement de créer cet élément en js. C'est la même chose que de l'écrire directement en html.
= = En fait, je suis un peu curieux de savoir de quel type de manuel d'introduction il s'agit. .
巴扎黑2017-05-15 16:59:17
Comme Xiaohe l'a dit, c'est fait pour des raisons de compatibilité.
Référence : http://www.oschina.net/translate/angularjs-ie-compatibility?print
如果你必需要用自定义元素标记,然后你必须采取以下步骤以确保IE8及之前版本都能用:
<!doctype html>
<html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="optionalModuleName">
<head>
<!--[if lte IE 8]>
<script>
document.createElement('ng-include');
document.createElement('ng-pluralize');
document.createElement('ng-view');
// Optionally these for CSS
document.createElement('ng:include');
document.createElement('ng:pluralize');
document.createElement('ng:view');
</script>
<![endif]-->
</head>
<body>
</body>
</html>