Хочу в шаблоне выбрать (по имени) вложенные в блок элементы и... ч.-ндь к ним применить.
Вижу, что в match у меня this.elem всегда undefined, а elemMatch (про который где-то что-то попадалось) почему-то отсутствует.
Как правильно поступить?
Хочу в шаблоне выбрать (по имени) вложенные в блок элементы и... ч.-ндь к ним применить.
Вижу, что в match у меня this.elem всегда undefined, а elemMatch (про который где-то что-то попадалось) почему-то отсутствует.
Как правильно поступить?
А откуда задача делать это именно через match?
Такие варианты не подойдут?
Если же нужно получить имя полученного элемента, то оно будет лежать в
this.elemв теле шаблона.@tadatuta Ах, да! Забыл дополнить, что нужно соответствие "по маске". :)) Т.е., банальный
elem, к сожалению, не подходит. В принципе, приспособив некоторые костыли, мог бы обойтисьelem('*'), но он, как выяснилось, тоже не работает.Т.е., нужен именно доступ к
this.elemвнутриmatchили что-то вроде.Про
-- можно подробней? У меня как-то не вышло. Как добраться до него из
match?Проблему с тем, что звездочка в элементах матчится на все блоки можно закостылять через https://goo.gl/PBPzbi
А
this.elem, конечно, доступен вmatch, но только в том случае, когда он определен. Другое дело, что если написатьblock('b1')и не писать предикат проelem(), тоbem-xjstавтоматически отфильтрует все узлы про элементы, поэтому вmatchпосле предиката про блок и не будетthis.elem. Проверить легко — достаточно написать что-то типа@lilliputten Тот баг обходится вполне:
block('nuzhnyj-block').elem('*').match(function(){ return this.block === 'nuzhnyj-block' && this.elem === 'nuzhnyj-element'; }).content()('asd');@zxqfox я это как раз и привел в примере по ссылке выше ;)