Ошибка Vue.js: невозможно прочитать свойство '_parent' неопределенного (…)

я пытаюсь использовать глобальную шину событий Vue.js. Вот мой код. Я проверил множество примеров, которые работают нормально, но когда я пытаюсь использовать ту же идею для кода для своего проекта, он показывает эту ошибку:

Невозможно прочитать свойство '_parent' неопределенного (…)

var bus = new Vue()

 Vue.component('login', {
  template: "#login",
  data: function(){
    return {
        ip:'',
        sessiontoken:''
    }
 },

ready: function(){  
    this.settoken();
    this.getip();      
  }, 

methods: {

    getencrypteduser:function(){                  
        },

    getauthentifications: function(event){
        this.$http.get('http://example.com/application/authentification', function(response){

          console.log(response);    

        }, {headers:{'Accept' : 'json',
                    'Content-Type' : 'application/hal+json',
                    'Authorization' : 'Basic ' + window.btoa(this.user+':'+this.password)}
            }); 

        bus.$emit('createauthentification')

    }
}
 })


 Vue.component('register', {
  template: "#register",
  data: function(){
    return {
        ip:'',
        sessiontoken:''
    }
},

ready: function(){  
    this.settoken();
    this.getip();     
},

methods: {

    getencrypteduser:function(){                  
        },
    created: function(){
        bus.$on('createauthentification', function(event){

            console.log(moment().format('LLLL'));   

            var data = {
                '_links':{
                    'type' : {
                        'href' : 'http://example.com/rest/type/node/authenfication'
                    }
                },
                'title':[
                    {
                        'value' : 'cccccccc'
                    }
                ],
                'field_id':[
                    {
                        'value' : this.$cookie.get('test')
                    }
                ],
                'field_ip':[
                    {
                        'value' : this.ip
                    }
                ],
                'field_va':[
                    {
                        'value' : 'Basic ' + window.btoa(this.user+':'+this.password)
                    }
                ],
                'field_expiration':[
                    {
                        'value' :  '2016-08-01T14:30:00'
                    }
                ]
            }

            this.$http.post('http://example.com/entity/node?_format=hal_json', data, function(response){
                console.log(response);
                this.$set('success', 'ok');
                this.$route.router.go('/');

            },  { headers:{ 'Accept' : 'json',
                            'Content-Type' : 'application/hal+json',
                            'Authorization' : 'Basic ' + window.btoa(this.user+':'+this.password),
                            'X-CSRF-Token': this.sessiontoken
                        }
                }).error(function(response)
                    {
                        this.$set('message','Désolé, nous ne avons pas réussi à vous authentifier. Réessayez.');
                        this.$set('error',true);
                    });

            this.$cookie.set('test', 'Hello world!', 1);
            console.log(this.$cookie.get('test'));
        }.bind(this));
    },

    settoken: function(){
      this.$http.get(apiURL4, function(response){
          this.sessiontoken = response;
          console.log(response);

       });
    },

    getip: function(){
      this.$http.get(apiURLip, function(response){
          this.ip = response;
          console.log(response);                 
       });
    }
  }
 })

Вот мой HTML-шаблон:

       <template id="login">
         <div class="login-box">
           <!-- /.login-logo -->
           <div class="login-box-body">
             <div class="alert" v-bind:class="{ 'alert-success': success, 'alert-danger': error}"v-show="message">{{ message }}</div>
               <p class="login-box-msg">Ouvrir une session</p>
               <form v-on:submit.prevent="getauthentifications($event)" >
               <div class="form-group has-feedback">
                 <input  v-model="user" value="cri" class="form-control" placeholder="Email">
                 <span class="glyphicon glyphicon-envelope form-control-feedback"></span>
               </div>
               <div class="form-group has-feedback">
                  <input v-model="password" value="Drup8@92:ocell" class="form-control" placeholder="Password">
                  <span class="glyphicon glyphicon-lock form-control-feedback"></span>
               </div>
               <div class="form-group has-feedback">
                  <a href="#">Mot de passe oublié ?</a><br>
               </div>
               <div class="text-center">
                  <button type="submit" class="btn btn-primary btn-block btn-flat">Ouvrir une session</button>
               </div>
               <div class="social-auth-links text-center">
                  <p>- OU -</p>
               </div>
               <div class="text-center">
                   <button href="#!/register" class="btn btn-default btn-block btn-flat">S'inscrire</button>
               </div>
              </form>              

             </div>
             <!-- /.login-box-body -->
           </div>
        </template>

Скажите, пожалуйста, если кто-то получил такую ​​​​ошибку или нашел решение.


person user3423920    schedule 07.12.2016    source источник
comment
Знаете ли вы, какая строка выдает ошибку и работает ли шина событий?   -  person Saurabh    schedule 07.12.2016
comment
Когда он запускает эту строку var bus = new Vue(), он ничего не показывает и показывает ошибку в консоли.   -  person user3423920    schedule 07.12.2016
comment
хорошо, теперь ошибки нет, но у меня есть предупреждение, и моя функция не работает. это предупреждение v-on:submit=getauthentifications ожидает значение функции, полученное неопределенным. Я использую getauthentifications в html-файле для вызова функции getauthentifications.   -  person user3423920    schedule 07.12.2016
comment
Вы передаете какой-либо параметр из HTML, если нет, вам, возможно, придется передать $event/event из HTML следующим образом: getauthentifications($event)   -  person Saurabh    schedule 07.12.2016
comment
я использую эту форму ‹v-on:submit.prevent=getauthentifications($event)› в моем шаблоне html-файла. Теперь он показывает эту ошибку: Uncaught TypeError: scope.getauthentifications не является функцией (…)   -  person user3423920    schedule 08.12.2016
comment
попробуйте определить компоненты перед новым Vue()   -  person delueg    schedule 14.12.2016