<template> is handled by Angular and not added to the DOM as element.
inject it to the constructor
constructor(private tmplRef:TemplateRef)
for more details how to use it check out for example the source of `NgIf`
in the Angular2 repo.
On Tuesday, March 22, 2016 at 11:52:13 PM UTC+1, hani wrote:
>
>
> Taking the following angular2 beta9 component:
>
> HTML CODE
> <my-page>Loading...</my-page>
>
> <script type="text/html" id="my-component-template1">
> <select [(ngModel)]="SelectedType">
> <option *ngFor="#someType of MyTypes" [selected]="SelectedType ==
> someType" [value]="someType">{{someType}}</option>
> </select>
> </script>
>
> <template id="my-component-template2">
> <select [(ngModel)]="SelectedType">
> <option *ngFor="#someType of MyTypes" [selected]="SelectedType ==
> someType" [value]="someType">{{someType}}</option>
> </select>
> </template>
>
> JS CODE
> var myComponent =
> ng.core.Component({
> selector: 'my-page',
>
> //complains if i use #my-component-template2
> template:
> document.querySelector('#my-component-template1').innerHTML
> })
> .Class({
> constructor: function () {
> var self = this;
>
> self.MyTypes = ['first', 'second'];
> self.SelectedType = self.MyTypes[0];
> }
> });
>
> document.addEventListener('DOMContentLoaded', function () {
> ng.platform.browser.bootstrap(myComponent);
> });
>
> If i use 'my-component-template1' it works fine, but if i choose
> 'my-component-template2' it complains that ngModel and ngForOf are not a
> known native properties. I tested a div as a template and apparently that
> won't work either with the same errors. So question is, why is it breaking
> if the template is part of the DOM? Furthermore, I really don't want to use
> the script text/html hack. Assuming this is why <template> was added in
> html5 specification. Why is this happening and how can i fix it?
>
--
You received this message because you are subscribed to the Google Groups
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.