我正在使用这个包将php传递给javascript。
我按照说明安装了。
我在控制器中有这个;
use Laracasts\Utilities\JavaScript\JavaScriptFacade as JavaScript;
public function quiz()
{
$user = Auth::user();
JavaScript::put([
'profile' => $user
]);
return View::make ('quiz');
}
这是我的观点;
<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>
然后我的js
var app = angular.module('quiz', []);
app.controller('QuizController', ['$scope', '$http', function($scope, $http) {
$scope.profile = app.profile;
console.log(app.profile);
}]);
现在真的很奇怪。
当我在视图中使用console.log app.profile时,它可以工作。我看到了预期的对象。但是,js中的console.log和<pre>
标记的输出都返回undefined。
怎么样?
答案 0 :(得分:0)
... Grrrrrr
这回答我自己的问题似乎很荒谬和遗憾,但显然你不能在javascript配置中为你的vars使用相同的命名空间,因为你使用了应用程序的名称。
app&amp; app no dice。
app和测验 - 工作。
希望这可以帮助那些可能会被这个简单障碍困扰的人。