Наличие заданного образца текста (настраивается) в форме

0

Я не уверен, возможно ли это в Angular, поэтому я отправляю свой вопрос здесь.

Я пытаюсь настроить сообщение для отправки в моем приложении. Когда страница загружается, форма должна иметь предустановленный текст, такой как

Hello {{ receiver }},

we have an appointment on {{ appointmentTime }}. This is moved to {{ newAppointmentTime }}.

Regards,

{{ sender }}

Возможно ли установить предустановленный текст в форме С объектами? receiver, appointmentTime, newAppointmentTime и sender будут отличаться в зависимости от того, какое время выбрано и кто зарегистрирован, поэтому я хотел бы поместить объекты в текстовую форму.

Мой текущий код выглядит следующим образом:

<textarea class="form-control" id="textarea" name="textarea" rows="8" ng-model="object.email">
Hello {{ receiver }},

we have an appointment on {{ appointmentTime }}. This is moved to {{ newAppointmentTime }}.

Regards,

{{ sender }}</textarea> 

но, конечно, это не работает, потому что он пытается загрузить object.email который пуст, но я также хочу заполнить его текстом выше. Этот текст также должен быть настраиваемым для пользователя (если пользователь хотел бы добавить дополнительную информацию в сообщение). Я также понимаю, что текстовая форма может иметь местозаполнитель, но это не будет работать со стандартным форматом (с пробелами) и объектами.

Как это сделать в Угловом?

Теги:

1 ответ

1
Лучший ответ

Сначала вы можете скомпилировать свое сообщение в контроллере и назначить его переменной, которая будет содержать вашу модель - object.email. Когда вы привяжете свою текстовую область к этому, она заполнит вашу текстовую область вашим скомпилированным сообщением.

Вот пример plunk, с выдержкой из кода инициализации ниже:

  function controller(){
      var vm = this;

      vm.receiver = "Dave";
      vm.time = "January 2nd 2016 at 17:00";
      vm.newAppointmentTime = "January 4th at 12:00";
      vm.sender = "Daisy";
      vm.messageText = "";

      function init(){
        vm.messageText = "Hello " + vm.receiver + ", \n\nWe have an appointment on " + 
        vm.time + ". This is moved to " + vm.newAppointmentTime + "." +
        "\n\nRegards,\n\n" + vm.sender;
      }


      init();

  }
  • 0
    Спасибо. Это на самом деле работает. Я не понимал, что '\ n' будет разрывом. После обсуждения с моей командой проекта мы поняли, что это проще сделать в бэк-энде, в том числе благодаря тому, что весь предустановленный текст можно изменить проще. Но, тем не менее, это очень хорошее решение. Я буду помнить об этом на случай, если я столкнусь с подобной ситуацией, когда это невозможно с бэкэнда.
  • 0
    @Джонсон хорошая идея - держать ваши контроллеры тонкими!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню