2016-05-25 14 views
0

Ich verwende dieses Paket, um PHP in Javascript zu übergeben.Warum sieht mein Winkelmodul diese Variable nicht von PHP?

laracasts/utilities

Ich habe gemäß den Anweisungen installiert.

Ich habe dies in meinem Controller;

use Laracasts\Utilities\JavaScript\JavaScriptFacade as JavaScript; 

public function quiz() 
{ 
    $user = Auth::user(); 

    JavaScript::put([ 
     'profile' => $user 
    ]); 

    return View::make ('quiz'); 
} 

Hier ist meine Ansicht;

<div ng-app="quiz" 
    ng-controller="QuizController" 
    ng-cloak> 

    This quiz goes here... 
    @include('footer') 
    <div class="row"> 
     <script>console.log(app.profile);</script> 
    </div> 
    <div> 
     <pre> 
      <code>Profile: @{{ profile.name | json }}</code> 
     </pre> 
    </div> 
</div> 

Dann meine js

var app = angular.module('quiz', []); 

app.controller('QuizController', ['$scope', '$http', function($scope, $http) { 

$scope.profile = app.profile; 

console.log(app.profile); 

}]); 

Nun ist die wirklich seltsame Sache.

Wenn ich console.log app.profile in der Ansicht funktioniert es. Ich sehe das Objekt wie erwartet. Sowohl die console.log in der js als auch die Ausgabe in das <pre> Tag werden jedoch nicht definiert zurückgegeben.

Wie ist das? Grrrrrr

Antwort

0

...

Diese scheinen lächerlich und traurig meine eigene Frage zu beantworten, aber offenbar kann man nicht den gleichen Namensraum für Ihre Vars in dem JavaScript-Config verwenden, wie Sie für den Namen des App verwenden.

App & App keine Würfel.

App und Quiz - funktioniert.

Hoffe das hilft jemand anderen, der auf diesem einfachen Haken ratlos werden könnte.

+0

Genauer - App ist ein 'reserviertes Wort'. – RushVan

Verwandte Themen