Laravel & Alpine.js |. DOM-Elemente zum Schreiben von Alpine.js-Code basierend auf PHP-Bedingungen
P粉763748806
P粉763748806 2023-08-06 11:54:24
0
1
500

<p>Dieses UpdateSoftwareRequest gibt bei einem Fehler diese Daten zurück: </p> <pre class="brush:php;toolbar:false;"> öffentliche Funktion after(): Array { zurückkehren [ Funktion (Validator $validator) { If ($ value-& gt; failed ()) {) {                            $validator->errors()->add('model', $this->route('software')); session(['showUpdateSoftwareModal', true]);             }                                    ]; } </pre> <p>Ich möchte, dass dieser Span eine x-Init basierend auf dem Sitzungswert erhält. Ich versuche es so zu machen: </p> <pre class="brush:html;toolbar:false;"> <span x-data="{}" x-on:click="$dispatch('open-modal', 'edit-software-modal ')" data-type="edit" {{ session('showUpdateSoftwareModal') === true ? 'x-init="console.log('HI')"' : '' }}>Edit</span> ; </pre> <p>Aber wenn der Wert wahr ist, löst x-init den Schreibvorgang nicht aus. Kann jemand helfen? <br /><br />Bearbeiten: Habe gerade Folgendes in der Dokumentation gefunden: <br /><br />Sie können x-init innerhalb oder außerhalb des x-data-HTML-Blocks in jedem hinzufügen Element. Zum Beispiel:<br /><br />Kennt jemand andere Lösungen? Ich versuche, ein Bearbeitungsmodal erneut auszulösen, wobei die Felder innerhalb des Modals beim Klicken aus Dateneigenschaften im übergeordneten TD der Schaltfläche übernommen werden. Der Fehler wird durch eine Formularanforderung ausgelöst und ich versuche, eine Schaltfläche für eine bestimmte Zeile auszulösen. </p>

P粉763748806
P粉763748806

Antworte allen(1)
P粉350036783

似乎引号存在问题,因为它们被blade的{{ }}转义了,所以应该改为:

{{ session('showUpdateSoftwareModal') === true ? 'x-init="console.log(\'HI\')"' : '' }}

可以用:

{!! session('showUpdateSoftwareModal') === true ? 'x-init="console.log(\'HI\')"' : '' !!}

但我建议您采用不同的方法:

<span x-data="{myFlag: {{ (int)session('showUpdateSoftwareModal', false) }} }"
      @click="$dispatch('open-modal', 'edit-software-modal')"
      data-type="edit"
      x-init="if (myFlag) {console.log('HI')}"
>
  Edit
</span>

这样您可以在Alpine对象的任何地方使用myFlag。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage