2017-02-22 38 views
1

Так что я пытаюсь проверить/снимите флажок, когда прародитель или родитель проверяется/бесконтрольно:Вю: установите/снимите флажок, когда Grandparent или родитель проверяется/бесконтрольно

new Vue({ 
    el: '.app', 
    data: { 
    grand_parent: false, 
    parent: false 
    } 
}) 

Однако это не работает, как может быть видел здесь:

http://jsbin.com/yabewemimo/edit?html,js,output

То, что я пытаюсь это получение идеальным:

  • Когда гранд-родитель проверяются/бесконтрольно, она должна влиять на прямые детей, например, как родитель и ребенок
  • Когда родитель проверяются/непроверенным, это должно повлиять на ребенок только

Спасибо за помощь

ответ

1

It похоже, что вы будете смотреть:

watch: { 
    grand_parent: function (val) { 
     if (val) this.parent = true; 
    } 
    } 
+0

Спасибо это был и мой первый инстинкт, но хотел, чтобы увидеть, если это было возможно без вычислен или смотреть. Я думаю, что выражение должно быть 'this.chk_admin_all = val' для hanlde unchecked status, а также, спасибо +1 – dev02

2

Ваш код не работает в соответствии с вашими ожиданиями, как у вас есть v-model на ваших родителей, так что ваша :checked свойство привязки не оказывает воздействие.

new Vue({ 
    el: '.app', 
    data: { 
    grand_parent: false, 
    parent_proxy: false // Because it will cause a stack overflow if 
    },     // I reference this.parent in its own computed 
    computed: { 
    parent: { 
     get() { 
     return (this.grand_parent) 
      ? true 
      : this.parent_proxy 
     }, 
     set (val) { 
     this.parent_proxy = val 
     } 
    } 
    } 
}) 

рабочие bin