2016-09-21 3 views
0

По какой-то причине я не могу получить доступ к this.active по моему методу delete. Что может быть ?Значение Vue.js недоступно

data() { 
    return { 
     ride: { user: {}, location: {}, type: {} }, 
     active: false 
    } 
    }, 

    methods: { 
    delete() 
    { 
     this.active = true; 
    } 
    } 

Так что, если я нажимаю на кнопку удаления запускается, но если посмотреть на вю dev tools активный держит ложь?

+0

может быть, потому что ваша установка в 'false'? Я не понимаю, почему в этом коде должно быть «истинно» –

+0

Да, delete устанавливает его в false ... Поэтому после триггеров удаления это должно быть false. –

+0

Простите, я сделал редактирование. – Jamie

ответ

-2

попробовать это может быть полезно для вас

data() { 
    return { 
     ride: { user: {}, location: {}, type: {} }, 
     active: false 
    } 
    }, 

    methods: { 

    delete() 
    { 
     var vm = this ; 
     vm.active = false; 
    } 
    } 
+0

Это даст вам ошибку, так как 'методы' является объектом JS –

1

Код, который у вас есть в вашем вопросе отлично работает в этом фрагменте. Не стесняйтесь играть с этим фрагментом, делая его более похожим на ваш проблемный код, пока вы не сможете воспроизвести проблему.

new Vue({ 
 
    el: 'body', 
 
    components: { 
 
    one: { 
 
     template: '#one-template', 
 
     data() { 
 
     return { 
 
      ride: { 
 
      user: {}, 
 
      location: {}, 
 
      type: {} 
 
      }, 
 
      active: false 
 
     } 
 
     }, 
 

 
     methods: { 
 
     delete() { 
 
      this.active = true; 
 
     } 
 
     } 
 
    } 
 
    } 
 
});
<script src="//cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.min.js"></script> 
 
<template id="one-template"> 
 
    <button @click="delete">Delete</button> 
 
    {{active}} 
 
</template> 
 

 
<one></one>

Смежные вопросы