#javascript #arrays #methods #vuejs2 #frontend
#javascript #массивы #методы #vuejs2 #интерфейс
Вопрос:
Я пытаюсь добавить условный оператор, поэтому, когда пользователь переключает кнопки, это запускает действие, например, выводит некоторый текст.
Я безуспешно пытался добавить условный метод as и вычисляемое свойство as, также я попытался с помощью оператора switch.
Я добавлю ссылку на codepenhttps://codepen.io/manosx/pen/KELmpj?editors=0010
clickedTag: function (indexTag) {
// toggle the active class
this.$set(this.isClickedTag, indexTag, !this.isClickedTag[indexTag])
let tagsSelected = _.keys(_.pickBy(this.isClickedTag, _.identity))
let tagsSelectedSingle = tagsSelected.map(s => `'${s}'`).join(', ')
console.log(tagsSelectedSingle)
if (tagsSelectedSingle === '0') { console.log('naylon') }
else if (tagsSelectedSingle === '1') { console.log('espiga') }
else if (tagsSelectedSingle === '2') { console.log('omega') }
else if (tagsSelectedSingle === '3') { console.log('crochet') }
else if (tagsSelectedSingle === '4') { console.log('thread') }
else if (tagsSelectedSingle === '5') { console.log('bordado') }
},
Я хотел бы добавить условный оператор, который запускал бы различные действия в зависимости от включенных кнопок.
Комментарии:
1. итак, вы просите поместить какой-нибудь другой код вместо
console.log
? вы можете поместить что угодно внутрь этих блоков, вызвать любую функцию, которая вам нравится… итак,mySuperSpecialFunction('naylon')
вместоconsole.log('naylon')
— тогда все, что вам нужно сделать, это создатьmySuperSpecialFunction
, чтобы делать то, что вам нужно (что является неопределенным в вашем вопросе)2. Не работает оператор If, не удается ничего вывести из консоли. выходные данные журнала
3. ну,
tagsSelectedSingle = tagsSelected.map(s =>
‘$ {s}’).join(', ')
предполагает, что tagSelectedSingle вообще не является единственным значением — так что, возможно, вам нужно сохранить его в виде массива и использоватьtagSelectedSingle.includes('1')
etc
Ответ №1:
Его лучше использовать indexOf()
, потому что includes не будет работать в некоторых браузерах.
Попробуйте это.
if (tagsSelectedSingle.indexOf('0')>=0) { console.log('naylon') }
if (tagsSelectedSingle.indexOf('1')>=0) { console.log('espiga') }
if (tagsSelectedSingle.indexOf('2')>=0) { console.log('omega') }
if (tagsSelectedSingle.indexOf('3')>=0) { console.log('crochet') }
if (tagsSelectedSingle.indexOf('4')>=0) { console.log('thread') }
if (tagsSelectedSingle.indexOf('5')>=0) { console.log('bordado') }
Комментарии:
1. Это работает частично, например, когда я включаю первую кнопку, она выводит ‘espiga’, этот результат остается для всех последующих кнопок, если я не отключу первую кнопку. Я хотел бы выводить результат каждой кнопки независимо для остальных действий с кнопками.