Применение стилей оформления материала AngularJS к динамически создаваемым элементам - PullRequest
0 голосов
/ 07 мая 2019

У меня есть приложение AngularJS, где у меня есть требование динамически добавлять AngularJS компоненты материала. Я использую Jquery, чтобы сделать это с помощью нажатия кнопки.

Компоненты добавляются в макет, но стили к нему не применяются.

Но есть и другие компоненты, которые загружаются при загрузке страницы, выглядит вполне нормально.

Может кто-нибудь помочь мне с этим вопросом? Спасибо.

Вот мой код jquery.

$(document).ready(function(){
    var counter = $('#contactNum').val();
    $('#addEmergencyContact').click(function() {
        counter++;
        $('#contactNum').text(counter);
    $(this).before('<div class="card-body pt-0">
<div class="row">
    <div class="col-md-12">
        <md-input-container class="md-block mx-4 mt-4" flex-gt-sm>
            <label>First name</label>
            <input type="text" name="firstname" id="firstname" ng-model="emergency_firstname" autocomplete="off" >
        </md-input-container>
        <md-input-container class="md-block mx-4 mt-3" flex-gt-sm>
            <label>Surname</label>
            <input type="text" name="lastname" id="lastname" ng-model="emergency_lastname" autocomplete="off" >
        </md-input-container><md-input-container class="md-block mx-4 mt-3" flex-gt-sm>
            <label>Email</label>
            <input type="text" name="email" id="email" ng-model="emergency_email" autocomplete="off" >
        </md-input-container>
        <md-input-container class="md-block mx-4 mt-3" flex-gt-sm>
            <label>Phone Number</label>
            <input type="text" name="phone" id="phone" ng-model="emergency_phone" autocomplete="off" >
        </md-input-container>
        <md-input-container class="md-block mx-4 mt-3" md-theme="altTheme1"  flex-gt-sm>
            <label>Relationship to you</label>
            <md-select ng-model="relation" placeholder="Relationship" ng-selected="get_Selected_relation()" >
                <md-option value="Spouse">Spouse</md-option>
                <md-option value="Partner">Partner</md-option>
                <md-option value="Parent">Parent</md-option>
                <md-option value="Friend">Friend</md-option>
            </md-select>
        </md-input-container>
    </div>
</div>
    <button id="removeEmergencyContact">Remove Contact</button> 
  </div>');
  });

    $(document).on('click','#removeEmergencyContact',function() {
        counter--;
        $('#contactNum').text(counter);
    $(this).parent('div').remove();
    });  
});

Вот мой код AngularJS

var app = angular.module('myApp', ['ngMaterial', 'ngMessages']);
app.controller('ParticipantController', function($scope) {

});

На данный момент я ничего не написал для установки значений для компонентов AngularJS. Так что это пусто.

Вот изображение

enter image description here

Верхняя часть изображения отображается при загрузке, а нижняя часть изображения загружается при нажатии кнопки добавления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...