我制作了一个 Table 组件,并在每列中放入了 jsx语法返回函数以呈现HTML ,但是在render的内部,我想更改数据带有this.firstName = item ;
的组件(项目位于渲染功能内部),但我无法访问此。
如何在Vue.js中的渲染返回中访问 this ?
这是我的代码:
field: 'id',
caption: '',
sortable: false,
render: (item) => (h) => {
return (
<td class="uk-text-middle uk-text-center">
<div class="uk-inline">
<span class="more-option" uk-icon="icon: more"></span>
<div class="uk-padding-small" uk-dropdown="mode: click">
<ul class="uk-nav uk-dropdown-nav uk-text-right">
<li>
<button onClick={ () => {console.log(this)} }>
<span class="uk-margin-small-left" uk-icon="icon: file-edit"></span>
edit
</button>
</li>
<li>
<a href="#">
<span class="uk-margin-small-left" uk-icon="icon: trash"></span>
delete
</a>
</li>
</ul>
</div>
</div>
</td>
);
}
答案 0 :(得分:1)
由于您使用嵌套的匿名函数,因此@if(Session::has('error_message'))
<div class="alert alert-danger">{{ Session::get('error_message') }}</div>
@php
Session::forget('error_message');
@endphp
@endif
的内部函数范围有所不同。
您可以绑定protected function unauthenticated($request, AuthenticationException $exception)
{
if($request->expectsJson()){
return response()->json(['message' => $exception->getMessage()], 401);
}
Session::put('error_message','Please login to continue.');
return redirect()->guest('/');
}
,或将this
分配给上层函数中的另一个变量
this