2017-10-13 2 views
0

Wie kann ich den Parameter von Angular in Laravel Klinge verwenden?Wie Winkelparameter mit Laravel Klinge zu verwenden

versuche ich diesen Code:

<?php echo \Carbon\Carbon::createFromTimeStamp(strtotime(@{{user.lastseen}})->diffForHumans() ?> 

und

{{\Carbon\Carbon::createFromTimestamp(strtotime(@{{user.lastseen}}))}} 

Aber ich habe einen Fehler eine Idee?

+1

PHP generiert zuerst den HTML-Code, dann erhält der Client-Browser den HTML-Inhalt und rendert ihn wo js ausgeführt wird. Der PHP-Code wird also auf dem Server ausgeführt, während der JS-Code auf dem Client ausgeführt wird. Daher kann die PHP-Funktion den Wert der Winkelvariablen auf der Serverseite nicht abrufen. –

+0

Probieren Sie das Blade '@ verbatim' aus. – aldrin27

+0

@KrisRoofe: ok ich habe es danke –

Antwort

1

Standardmäßig stehen AngularJS und Blade in Konflikt mit der Art, wie Variablen aufgerufen werden. Beide verwenden eine doppelte geschweifte Klammer {{ var }} Syntax. Es gibt einige Problemumgehungen wie die Änderung der Angular- oder Blade-Trennzeichen, aber eine einfachere Methode ist verfügbar.

Inneres Blade-Präfix Winkelecho-Variablen mit dem At-Symbol "@". Hier ein Beispiel:

$var = \Carbon\Carbon::createFromTimestamp(strtotime(@{{user.lastseen}})); 

@{{ $var }} 

Dies verhindert, dass Blade es analysiert, ist aber korrekt, wenn es an den Browser gesendet wird.

+0

Immer noch Fehler Syntaxfehler, unerwartet '{' –

+0

Sie können Daten in Blade wie: - {!! $ var !!} –

+0

Kein Fehler $ var aber Fehler beim ersten Skript $ var = \ Carbon \ Carbon :: createFromTimestamp (strtotime (@ {{user.lastseen}})); –