我正在从控制器向视图传递一个数组。
下面是控制器函数:
$notification = array(
'message' => 'Welcome Admin!',
'alert_type' => 'success',
);
return redirect('/home')->with('notification', $notification);
在我的看法中:
<script>
@if(Session::has('notification'))//this line works as expected
var type = "{{ Session::get('alert_type', 'info') }}";
//but the type var gets assigned with default value(info)
switch(type){
case 'info':
toastr.info("{{ Session::get('message') }}");
break;
case 'warning':
toastr.warning("{{ Session::get('message') }}");
break;
case 'success':
toastr.success("{{ Session::get('message') }}");
break;
case 'error':
toastr.error("{{ Session::get('message') }}");
break;
}
@endif
</script>
正如您所看到的,我尝试访问var type = "{{ Session::get('alert_type', 'info') }}";
中的数组值时出现了明显的问题。
编辑-1: 我尝试做了一些修改。
var type = "{{ Session::get('notification')->alert_type, 'info' }}";
switch(type){
case 'info':
toastr.info("{{ Session::get('notification')->message }}");
break;
case 'warning':
toastr.warning("{{ Session::get('notification')->message }}");
break;
case 'success':
toastr.success("{{ Session::get('notification')->message }}");
break;
case 'error':
toastr.error("{{ Session::get('notification')->alert_type }}");
break;
}
但现在我遇到了一个错误,错误提示为:
试图获取非对象属性(视图:C:\xampp\htdocs\financetest1\resources\views\layouts\master.blade.php)(视图:C:\xampp\htdocs\financetest1\resources\views\layouts\master.blade.php)
有没有人能帮我解决这个问题?
{{ Session::get('notification')['message'] }}
,它有效了(请看我的答案),我会尝试按照你的方式进行,只需进行这个小修正即可。 - Sapnesh Naik