2016-04-09 4 views
0

Я новичок в Vue JS. Только что реализовал образец дерева.Vue JS: Сбросить/перезагрузить весь древовидный вид

Как очистить весь древовидный вид и полностью загрузить его новым контентом?

Прошел через API Vue, но не смог найти.

Пожалуйста, помогите.

+0

показать нам свой код, если вы хотите помочь – Jeff

ответ

1

Если вы обратитесь к этому: http://vuejs.org/examples/tree-view.html

Там нет специального метода nessessary для этого. вы бы просто заменить данные с новыми данными:

var demo = new Vue({ 
    el: '#demo', 
    data: { 
    treeData: data 
    }, 
    methods: { 
    //call this method e.g. from a buttons click event. 
    flushtree: function() { 
     this.treeData = newData // get new Data from somehwere. 
    } 
    } 
}) 
+0

Спасибо за решение. Какая-либо идея о том, как прекратить добавлять дочерний узел в какой-то момент (отключить событие щелчка dbl или остановить рекурсивное поведение на каком-то дочернем узле)? –

+0

Я бы добавил prop 'depth' и увеличил его с помощью каждого рекурсивного вызова. Затем проверьте обработчик кликов, если 'depth <10'или что-то, в зависимости от того, что вы состоите. –

0

Мой модифицированный фрагмент кода:

if(demo!=null) { 
    demo.flushtree(tableJson); 
} else { 
    demo = new Vue({ 
    data: { 
    treeData: tableJson 
    }, 
    methods: { 
     flushtree: function(newData) { 
     this.treeData = newData; 
    } 
} 
}) 
demo.$mount('#demo'); 
} 

Спасибо :)

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