2016-03-08 4 views
0

Я пробовал angular quick start - но мне нравилось использовать период в селекторе моего компонента, например. 'my.app' вместо 'my-app'.Почему нельзя использовать периоды в селекторах Angular2?

Это вызвало Угловая не уложен правильно, хром Dev инструменты утверждают

Селектор 'my.app' не существует в документе

Мои index.html тело:

<body> 
    <my.app>Loading...<my.app> 
</body> 

и app.component.js:

(function(app) { 
    app.AppComponent = 
    ng.core.Component({ 
     selector: 'my.app', 
     template: '<h1>[Template] Hello Worlds!</h1>' 
    }) 
    .Class({ 
     constructor: function() {} 
    }); 
})(window.app || (window.app = {})); 

В документации, связанной с этим, я ничего не смог найти.

Кто-нибудь знает, почему это происходит?

+4

Поскольку имена элементов HTML может содержать только-Z, A-Z и 0-9. Этот период используется в CSS-селекторах для обозначения класса. – jmoerdyk

+0

@jmoerdyk Если вы добавите его в качестве ответа, он сможет его принять, и вопрос может быть закрыт. –

ответ

3

Это потому, что my.app не является допустимым именем HTML-элемента. Имена элементов HTML могут содержать только a-z, A-Z и 0-9.

Этот период используется в селекторах CSS/jQuery для обозначения класса. Так my.app бы селектор для my элемента с классом app как <my class='app'>