有人可以解释我为什么我得到带有打印字符串的空白屏幕"@extends('layouts.default')"如果我正常请求页面(不是ajax)?
@if(!Request::ajax())
@extends('layouts.default')
@section('content')
@endif
Test
@if(!Request::ajax())
@stop
@endif
Run Code Online (Sandbox Code Playgroud)
我正在尝试用Ajax解决问题,我不想为每种请求类型创建2个模板,而且我也想使用刀片模板,因此使用控制器布局对我来说不起作用.如何在刀片模板中执行此操作?我在看这个Laravel:如何只渲染模板的一个部分?
顺便说说.如果我用ajax请求它,它应该像它应该的那样工作.
我有一个资源,我从服务器/项目列出我的所有项目.您可以访问去/ projects /:slug的特定项目.
当我访问项目资源时,我在Ember Inspector中看到了这些数据:
/项目
id | Slug | Title |
-------------------------------------------------
1 | first-project | First project |
-------------------------------------------------
2 | second-project | Second project |
-------------------------------------------------
3 | third-project | Third project |
Run Code Online (Sandbox Code Playgroud)
当我从项目列表中访问项目时,我得到相同的数据,没有新的ajax请求,一切正常./项目/第一项目
当我刷新/ projects/first-project页面时出现问题.Ember发出一个从服务器获取数据的ajax请求,但它也插入了一个空行,其中slug作为数据的id.
id | Slug | Title |
-------------------------------------------------------------
first-project | | |
-------------------------------------------------------------
1 | first-project | First project |
Run Code Online (Sandbox Code Playgroud)
现在访问项目列表它显示了一个项目列表,但在列表的顶部是这个空行.为什么要将这个slug行插入我的数据?也许我的逻辑错了.
<li>
<a id="ember451" class="ember-view" href="/projects/undefined">
<script id="metamorph-13-start" type="text/x-placeholder"></script>
<script id="metamorph-13-end" type="text/x-placeholder"></script>
</a>
</li>
Run Code Online (Sandbox Code Playgroud)
我的项目代码:
App.Router.map(function() {
this.resource('project', { …Run Code Online (Sandbox Code Playgroud) 我有带屏幕1和2的TabNavigator,在屏幕1内。我有带屏幕1.1和1.2的StackNavigator。我已启用滑动和手势功能。从根本上,我可以在1和2之间滑动选项卡。当我在屏幕1上并打开屏幕1.1时,我仍然可以滑动到屏幕2,而在打开1.1屏幕时我需要以某种方式禁用此功能。
我需要它像Instagram应用程序(ios)一样工作。在主屏幕(1)上,您可以向左滑动以查看直接屏幕(2)。当您从主屏幕(1)打开朋友个人资料时,它将作为屏幕(1.1)打开,并且您无法向左滑动以打开直接屏幕(2)。你只能回去。
我可以正常使用此功能,但可以使用“错误”从屏幕1.1导航到屏幕2。
我通过阅读文档和其他人与导航有关的问题,尝试了多种方式来解决此问题,但是实际上并不能按我的需要工作。我猜想嵌套屏幕结构有问题或以其他方式解决了。
有人有线索吗?