nskarl
@nskarl
Вообще дизайнер

Как получить данные из шаблона в методе computed в vue?

<div id="commentsBlock"><vue-comments-item :model="treeComments"></vue-comments-item></div>

Vue.component('item', {
	template: '' +
		'<item>' +
			'<li v-for="comment in model">' +
				'<div>{{comment.users.username}}<br />{{comment.text}}</div>' +
				'<ul :model="comment" v-if="replies">' +
					'<vue-comments-item v-for="model in comment.replies" :model="model"></vue-comments-item>' +
				'</ul>' +
			'</li>' +
		'</item>' +
	'',
	props: {
		model: Object
	},
	computed: {
		replies: function () {
			console.log(JSON.stringify(this.model, null, 4));
		}
	},
})


как в computed обратиться к итерации comment объекта model ?
this.model выводит весь объект model, а мне нужно чтобы он вывел текущий объект v-for

пытался переопределить :mode="comment" - результат нулевой
подскажите кто-нибудь плиз)) весь день убил на это чертово дерево
  • Вопрос задан
  • 452 просмотра
Решения вопроса 1
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Сделайте метод просто:
methods: {
replies(v){
 // some code
}
}


В шаблоне:
<ul :model="comment" v-if="replies(comment)">
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@3gsxarakiri
Пытаюсь разобраться в этом гемморое
Могу ошибаться, поэтому не стремлюсь быть ответом. Но computed это не метод, а переменная, которая заранее просчитывается.
computed: {
    replies: function () {
      return 2+2;
    }
  },


<p>{{ replies }}</p>// 4
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы