2015-07-10 6 views
0

Вот мой Mixin в mixins.jadeНазначение параметра данных к Джейд подмешать

mixin link(url, name) 
    a(href='#{data.url}', title=name)&attributes(attributes)= name 

мои данные в data.json

{ 
    "facebook": "fb.com", 
    "twitter": "tt.com", 
} 

здесь является примесь называется в шаблоне

+link('facebook', 'Go to facebook')(class="social-link") 

обработка с глотком в gulpfile.js

gulp.task('templates', function() { 

    gulp.src(srcDir + '/html/template.jade') 
    .pipe(jade({ 
     locals: { 
     data: data, 
     pretty: true 
     } 
    })) 
    .pipe(rename('intermediate.html')) 
    .pipe(gulp.dest(srcDir + '/html')) 
}); 

конечный результат дает неопределенное значение

<a href="undefined" title="Go to facebook" class="social-link">Go to facebook</a> 

Не удается найти способ еще быть в состоянии назвать свои данные в Mixin. Я знаю, что данные работают, потому что если я дам data.facebook в mixin (например) вместо data.url, тогда у меня будет правильный URL-адрес.

Также не работает: подмешать ссылку (URL, название) а (HREF = '# {. Данные' + URL + '}', название = имя) & атрибуты (атрибуты) = имя

он оказывает

<a href="#{data.webversion}"> 

вместо <a href="fb.com">

ответ

0

Что делать, если вы используете

mixin link(url, name) 
    a(href=url, title=name)&attributes(attributes)= name 

редактировать: или, может быть,

mixin link(url, name) 
    a(href='#{data[url]}', title=name)&attributes(attributes)= name 
+0

, если я сделаю это, мой шаблон будет выглядеть следующим образом '+ ссылки ('# {data.facebook}', 'К Facebook') (класс =" социально-ссылка ")' слишком много слов для моего вкуса –

+0

попробует ваше второе предложение –

+0

не работает, к сожалению –

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