В angular 1 я могу определить любой элемент как корневой элемент, и это не заменит уже написанный встроенный HTML. например, в угловом 1.
<body>
<div ng-app="">
<h1><?php echo $heading_this_page;?></h1>
<p>Name : <input type="text" ng-model="name" placeholder="Enter name here"></p>
<h1>Hello {{name}}</h1>
</div>
</body>
А вот в angular 2, если я выше напишу вот так.
<body>
<ng-app>
<h1><?php echo $heading_this_page;?></h1>
<p>Name : <input type="text" ng-model="name" placeholder="Enter name here"></p>
<h1>Hello {{name}}</h1>
</ng-app>
</body>
и я использую ng-app
в качестве селектора основного/корневого компонента, innerHTML элемента ng-app
заменяется HTML-кодом компонента.
@Component({
selector: 'ng-app',
template:'<h1>App works</h1>";
directives: [UsersComponent]
})
т.е. innerHtml ng-app
теперь становится <h1>App works</h1>
. Я хочу сохранить предыдущее содержимое ng-app
.
И если это невозможно, могу ли я сделать что-то вроде ниже.
<body>
<ng-app>
<h1><?php echo $heading_this_page;?></h1>
<p>Name : <input type="text" ng-model="name" placeholder="Enter name here"></p>
<h1>Hello {{name}}</h1>
<render-component-here></render-component-here>
</ng-app>
</body>
Где ng-app
— мой основной компонент (загружается при загрузке), и он должен отображать свои данные в элементе <render-component-here></render-component-here>
(а не сам по себе, заменяя предыдущий контент)
ng-content
в компоненте, который вы указываете в index.html, не будет работать. - person Mr_Perfect   schedule 21.06.2017