无法在返回jsx内访问Vue实例

时间:2018-08-12 04:17:37

标签: reactjs vue.js

我制作了一个 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>
  );
}

1 个答案:

答案 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