Ember отправить на иконку

У меня есть работающая система отправки при редактировании компании на моем сайте. В настоящее время я отправляю данные с помощью {{f.submit}}, который дает мне интерактивный текст, который обрабатывает действие отправки, теперь мне не нужен текст, который я хочу, чтобы действие отправки на значке из Fontawesome.

Это код в файле .hbs

{{#with (changeset company validations) as |changeset|}}
  {{#form-for changeset submit=(action 'submit') as |f|}}
  <div class = "card-header bg-primary">
    <div class = "row">
      <div class = "col-sm-6">
        <a class = "card-link text-white" data-toggle = "collapse" data-parent = "#accordion" href = "#collapseOne">Übersicht</a>
      </div>
      <div class = "col-sm-6 text-right d-block">
        {{! TODO: Submit via action submit doesnt work}}
        <a class = "card-link text-white"><i class = "fa save"></i></a>
        <a onclick = {{companyEditing}} class = "card-link text-white"><i class = "fa abort"></i></a>
        <a {{action 'deleteCompany' company}} class = "card-link text-white"><i class = "fa trash"></i></a>
        <a class = "card-link text-white" data-toggle = "collapse" data-parent = "#accordion" href = "#collapseOne"><i class = "fa angle"></i></a>
      </div>
    </div>
  </div>
  <div id = "collapseOne" class = "collapse multi-collapse show border border-primary rounded-bottom">
    <div class = "card-body">
        <div class = "row">
          <div class = "col-sm-12">
            {{f.submit "Save"}}
            {{f.reset "Reset"}}
          </div>
        </div>
        <div class = "row">
          <div class = "col-sm-2">
            <img class = "img-fluid" alt = "FIRMENLOGO" src = "img/puzzle_logo.png">
          </div>
          <div class = "col-sm-10 row">
            <div class = "col-sm-4">
              <table class = "table-uebersicht">
                <tr>
                  <td>{{f.text-field 'name' label = "Name"}}</td>
                </tr>

Я хочу запустить действие из

{{f.submit "Save"}}

на

 <a class = "card-link text-white"><i class = "fa save"></i></a>

элемент.

И это файл .js за ним

import { inject as service } from '@ember/service';
import Component from '@ember/component';
import { computed } from '@ember/object';
import CompanyModel from '../models/company';

export default Component.extend({
  store: service(),
  i18n: service(),
  router: service(),

  personPictureUploadPath: computed('company.id', function() {
    return `/company/${this.get('company.id')}/picture`;
  }),

  actions: {
    submit(changeset) {
      return changeset.save()
    .then(() => this.sendAction('submit'))
    .then(() => this.get('notify').success('Firmenübersicht wurde aktualisiert!'))
    .catch(() => {
      let company = this.get('company');
      let errors = person.get('company').slice(); // clone array as rollbackAttributes mutates

      person.rollbackAttributes();
      errors.forEach(({ attribute, message }) => {
        let translated_attribute = this.get('i18n').t(`company.${attribute}`)['string']
        changeset.pushErrors(attribute, message);
      this.get('notify').alert(`${translated_attribute} ${message}`, { closeAfter: 10000 });
    });
    });
    },
    deleteCompany(companyToDelete) {
      companyToDelete.destroyRecord();
      this.get('router').transitionTo('companies');
      window.location.reload(true);
    }
  }

});

Спасибо за ответы!

Обновлено: добавил то, что я пробовал до сих пор: Я пробовал onclick = {{f.submit}}, который не принимает с ошибкой «f.submit не является допустимым именем для модификатора в строке 10». Я пробовал что-то вроде: {{действие 'submit' f}}, которое выдает ошибку: «Changeset.save не является функцией». Я пробовал много других вещей с похожими результатами или приводящими к разрыву страницы.

Последнее изменение: решение было {{действие "отправить" набор изменений}}

Так в чем твоя проблема? Опишите полученные ошибки или отображаемый неверный результат.

Christophe 06.04.2018 12:21

Я просто не знаю, как это сработает. Я пробовал onclick = {{f.submit}}, который не принимает с ошибкой «f.submit не является допустимым именем для модификатора в строке 10». Я пробовал что-то вроде: {{action 'submit' f}}, который выдает ошибку: «Changeset.save не является функцией». Я пробовал много других вещей с аналогичными результатами или в результате чего кнопка / значок ничего не делали.

Robin Steiner 06.04.2018 12:28

взгляните на свой компонент form-for. вот вам и submit. Это все ваш собственный код.

Lux 07.04.2018 00:23

@lux Спасибо, что действительно помогло, я всегда пробовал {{action 'submit' f}}, так как я думал, что мы отправляли f как набор изменений, тогда как на самом деле мне нужно было {{action 'submit' changeset}}. Работа с 4 людьми не всегда помогает понять код.

Robin Steiner 07.04.2018 13:52
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
67
0

Другие вопросы по теме