如下程式碼所示,定義了directive layoutHeader,依照我的理解,直接在html引用
就可以了。
想問下,這裡的
document.createElement('layout-header'); 有什么作用?是必须的吗?
原程式碼如下:
angular.module('app').directive('layoutHeader', function () {
return {
restrict: 'E',
scope: {},
templateUrl: 'components/layout/header.html',
controller: 'LayoutHeaderCtrl'
};
});
document.createElement('layout-header');
ringa_lee2017-05-15 16:59:17
document.createElement
這是瀏覽器提供的js方法。可以用程式碼產生dom。
你直接在html引用就行了,不必要非用程式碼的方式創建。
仅有的幸福2017-05-15 16:59:17
這個是範例程式碼吧?
其實就是在 js 裡面創建一下這個 element 而已,在 html 直接寫是一樣的。
= = 其實有點好奇這是什麼入門教材。 。
巴扎黑2017-05-15 16:59:17
正如xiaohe 所說,是為了相容性而做的處理。
參考: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>