我不确定这个问题的标题是否正确,但我不知道如何构建它。
我有profile.blade.php
和scripts.blade.php
个文件 - 一个是视图本身,另一个只包含自定义JS。在第一个我有这一行:
<div id="age" class="inline-block pull-left"></div>
脚本有:
<script>
function getAge(dateString) {
...
}
$(document).ready(function(){
var age = getAge(new Date({{ $user->birthdate }}));
$("#age").text("(" + age + " years old)");
});
</script>
然后我有一个master_layout
视图:
...
@include('scripts')
</head>
<body>
@yield('content')
...
</body>
最后,控制器:
public function getPersonalProfile()
{
$user = User::find(Auth::user()->id);
return View::make('account.profile')->with('user', $user);
}
因此,我在尝试使用{{ $user->birthdate }}
部分时遇到错误,$user
变量不存在。如果我写的是
var age = getAge(new Date("1987-03-23"));
然后计算并显示所有细节。但是,当然,我想从控制器传递的数据。 :d
根据我的理解,所有内容(包含视图和脚本部分的主布局)都被加载到一个完整的HTML中,但显然我的理解是错误的......
当然,我可以在控制器中计算出来并将其传递给视图,但我想知道是否有一种方法可以在视图之间进行通信。
我需要将$user
数据传递到profile
视图,因为我将其用于其他事情,而不是年龄。
如何在scripts
?