小编Kei*_*eno的帖子

无法使用异步方法在 .vue 文件中设置断点

我在调试 Vue 应用程序时遇到问题,因为步进可以跳过行或无法在有效行上设置断点。

我想这是一个 sourcemap 问题,但不确定从哪里开始挖掘。可能是 Vue-loader、Webpack 或 Babel 之一。

测试:

视图:2.6.10

vue-cli 4.1.2

该问题可以重现如下:

创建新的 Vue 项目:

vue 创建测试

只需使用默认值

光盘测试

npm 运行服务

将 HelloWorld.vue 替换为:

<template>
  <button @click="save()">
    Save
  </button>

</template>

<script>
export default {

  methods: {

    async save() {
      debugger;
      let valid = false;
      if (valid) {
        return;
      } else {
        console.log("Hi")
      }
    }
  }
}
</script>

Run Code Online (Sandbox Code Playgroud)

在 Chrome 中打开 devtools,点击保存按钮并尝试在行上放置断点:

if (valid) {
Run Code Online (Sandbox Code Playgroud)

在我的测试中,断点没有设置。

如果我从 save 方法中删除async,则可以设置断点。

使用 Chrome 79 和 Firefox 73 进行测试。 …

vue.js vuejs2

9
推荐指数
1
解决办法
1118
查看次数

VueJS 路由会自动在 url 中设置一个“#”

我一直在关注他们网站上的官方 VueJS 路由器文档:. 我现在面临的问题是,它会自动将我重定向到 url: http://127.0.0.1:8080/#/,尽管我输入了 URL: http://127.0.0.1:8080/

当我点击一个按钮,即设置一个新的URI对我来说,像这样同样出现:http://127.0.0.1:8080/#/foo。当我按下按钮时会发生这种情况,这应该让我到达那里。

如果我打开 URL:http://127.0.0.1:8080/foo它会自动将我的 URL 重写为http://127.0.0.1:8080/foo#/.

其他一切仍然有效,并且正在呈现路由器视图,但是对于用户而言,如果没有烦人的 # 来体验该站点肯定会很好。

如前所述,我确实遵循了 VueJS 文档,但我对某些内容进行了一些更改。但是,这些不会影响错误。

这是我的 main.js 文件。

import Vue from 'vue';
import VueRouter from 'vue-router';
import App from './App.vue';
import AnotherComponent from './components/AnotherComponent.vue';

Vue.use(VueRouter);
Vue.config.productionTip = false;

const routes = [
    { path: '/foo', component: AnotherComponent }
];

const router = new VueRouter({
    routes
});

new Vue({
    router,
    render: h => h(App)
}).$mount('#app');
Run Code Online (Sandbox Code Playgroud)

这是我的 App.vue …

javascript vue.js vue-router vuejs2

4
推荐指数
1
解决办法
1047
查看次数

为什么 MobX v6.x 在 React with Typescript 中不能按预期工作?

我目前正在编写一个 React 应用程序,当任何可观察的值发生变化时,它应该能够重新渲染组件。问题是,email如果它发生变化,我将无法重新渲染。

store.ts

export class ExampleStore {
  @observable email = 'hello';

  @action setEmail(email: string) {
    this.email = email;
  }
}
Run Code Online (Sandbox Code Playgroud)

索引.tsx

const stores = {
  exampleStore
};

ReactDOM.render(
  <Provider {...stores}>
    <App />
  </Provider>,
  document.querySelector('#root')
);
Run Code Online (Sandbox Code Playgroud)

应用程序.tsx

interface Props {
  exampleStore?: ExampleStore;
}

@inject('exampleStore')
@observer
export class App extends React.Component<Props, {}> {
  componentDidMount() {
    setInterval(() => {
      this.props.exampleStore!.setEmail(Math.random() * 10 + '');
    }, 2500);
  }

  render() {
    const { email } = this.props.exampleStore!;
    return <div>{email}</div>;
  }
}
Run Code Online (Sandbox Code Playgroud)

我见过很多使用 …

reactjs mobx mobx-react

4
推荐指数
1
解决办法
1638
查看次数

标签 统计

vue.js ×2

vuejs2 ×2

javascript ×1

mobx ×1

mobx-react ×1

reactjs ×1

vue-router ×1