小编Sag*_*che的帖子

Vuejs:在路线更改之前显示确认对话框

在我的vueJS项目中,我想在当前路由更改之前显示确认对话框. 在此输入图像描述

是的,它应该重定向到下一个期望的路线,否则保持在相同的路线上.

知道如何实现它吗?

提前致谢.

javascript vue.js vue-router vue-component vuejs2

9
推荐指数
2
解决办法
4947
查看次数

如何在反应路由器中更新 history.replace 上的路由器状态?

我的反应路由器具有状态isActive(boolean)值。当我使用 Link 组件重定向到不同的路由时,我可以按如下方式更新状态并且它工作正常:-

<Link to={{
        pathname: "my-home-page",
        search: '?query=abc',
        state: { isActive: true }
}}>Go to Home</Link>
Run Code Online (Sandbox Code Playgroud)

此外,当我使用 history.push 状态使用以下代码正确更新时:-

history.push({
               pathname: '/template',
               search: '?query=abc', 
               state: {
                isActive: true
               }
});
Run Code Online (Sandbox Code Playgroud)

但是,当我在 javascript 中使用 history.replace 时,我无法更新状态。我正在尝试下面的代码,但它不起作用。

history.replace({ pathname: 'home', search: '?query=abc', isActive: true});
Run Code Online (Sandbox Code Playgroud)

有谁知道我做错了什么?为什么我的状态在重定向时没有更新history.replace

javascript reactjs react-router

8
推荐指数
2
解决办法
4万
查看次数

React getDerivedStateFromProps 无法访问此

我在最新的 react 16.5.2 中使用了 getDerivedStateFromProps 生命周期钩子。为什么我无法访问组件的 this 对象?有什么我做错了。

class EmailInput extends Component {
  state = { email: this.props.defaultEmail };

  handleChange = event => {
    this.setState({ email: event.target.value });
  };

  getDerivedStateFromProps() {
    this.doSomething();
  }

  doSomething = () => {
   //do something here
  }

  render() {
    return <input onChange={this.handleChange} value={this.state.email} />;
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

5
推荐指数
1
解决办法
2222
查看次数

HapiJs 基于角色路由访问

我在服务器端使用 HapiJs 并希望根据角色进行路由配置,我想限制用户访问某些端点

var Hapi = require('hapi');

var server = new Hapi.Server();
server.connection({ port: 8000 });

server.route({
  method: 'GET',
  path: 'api1',
  handler: function (request, reply) {
    reply('Hello, world!');
  }
});

server.route({
  method: 'GET',
  path: 'api2',
  handler: function (request, reply) {
    reply('Hello');
  }
});

server.route({
  method: 'GET',
  path: 'api3',
  handler: function (request, reply) {
    reply('Hello');
  }
});

const parseHeader = (request, h) => {
   const { role } = JSON.parse(request.headers["roles"]);

};

server.ext("onRequest", parseHeader);

server.start(function () {
  console.log('Server running at:', server.info.uri);
}); …
Run Code Online (Sandbox Code Playgroud)

javascript node.js hapijs

0
推荐指数
1
解决办法
1209
查看次数