小编Ani*_*ruz的帖子

vuejs:有没有办法在组件内部访问router.go()?

我想调用router.go一个组件

目前我已设置window.router = router//所以代码有效

index.js

const App = Vue.extend(require('./views/app.vue'))
router.start(App, '#app')
window.router = router // I don't want to set this global variable
Run Code Online (Sandbox Code Playgroud)

navbar.vue

methods: {
        search () {
            window.router.go({
                name: 'search',
                query: { q: this.query }
            })
        }
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找的东西是这样的, this.$router.go

navbar.vue

methods: {
        search () {
            this.$router.go({
                name: 'search',
                query: { q: this.query }
            })
        }
    }
Run Code Online (Sandbox Code Playgroud)

谢谢,真的很感激一些帮助

vue.js

17
推荐指数
1
解决办法
1万
查看次数

vuejs:尝试使用v-el指令集中输入

我正在创建一个向导登录表单,其中首先输入手机号码,然后输入密码.

这里我试图使用密码输入

this.$$.passwordInput.focus()
Run Code Online (Sandbox Code Playgroud)

但是如果我得到下面给出的错误

Uncaught TypeError: Cannot read property 'focus' of undefined
Run Code Online (Sandbox Code Playgroud)

完整代码如下

的index.html

<div id="login">
  <div v-if="flow.mobile">
    <form v-on="submit: checkmobile">
        <p>
          Mobile Number<br>
          <input type="text" v-model="mobile_number" v-el="mobileNumber">
        </p>
    </form>
  </div>
  <div v-if="flow.password">
    <form v-on="submit: checkpassword">
        <p>
          Password<br>
          <input type="password" v-model="password" v-el="passwordInput">
        </p>
    </form>
  </div>
Run Code Online (Sandbox Code Playgroud)

的script.js

var demo = new Vue({
el: '#login',
data: {
    flow: {
        mobile: true,
        password: false
    }
},
methods: {
    checkmobile: function(e) {
        e.preventDefault();
        this.flow.mobile = false;
        this.flow.password = true;
        this.$$.passwordInput.focus();
    },
    checkpassword: function(e) { …
Run Code Online (Sandbox Code Playgroud)

vue.js

15
推荐指数
3
解决办法
3万
查看次数

标签 统计

vue.js ×2