2016-06-23 11 views
1

Ich mag diesesJade mixin mit dynamischen js Objektvariable als Attribut

+projectInfo("assets/images/image.jpg",{{repository.project[projectId].unit}}) 

error: Unexpected token { at Function (native) at assertExpression ...

eine mixin in Jade zu nennen versuche ich habe auch so versucht:

+projectInfo("assets/images/image.jpg",repository.project[projectId].unit) 

error: Cannot read property 'project' of undefined

Was mache ich falsch?

Update: mixin sieht wie folgt aus

mixin projectInfo(img, title) 
    .container-fluid 
     .col-xs-12.projectInfo 
      .col-xs-12.img 
       img(src= img) 
      .col-xs-12.title 
       h1= title 
+0

hallo, kannst du bitte auch die Mixin-Definition posten? – rick

+0

@rick kann nicht sehen, wie das helfen würde, aber hinzugefügt – suMi

+0

Verständnis der Parameter neede vielleicht ??? – rick

Antwort

0

Wenn Sie AngularJS mit Jade verwenden, ist es besser, Richtlinien zu verwenden, um mit eigenen Vorlage (angetrieben durch Jade, wenn Sie auch wollen)

Die Wenn Sie es verwenden, ist es nicht wirklich richtig, Jade wird als HTML erstellt und in diesem Prozess wird der Wert, der an Mixin übergeben wurde, verwendet, um Mixin Vorlage anstelle von +mixinName() zu zeichnen, und da Sie dynamischen Wert dort setzen möchten, ist es notwendig zu verwenden AngularJs Ansatz:

angular.module('app.directives').directive('projectInfo', projectInfo); 

function projectInfo() { 
    return { 
     restrict: 'AE', 

     //build from jade template and contain {{info.title}}, {{info.img}} 
     templateUrl: '/templates/myTemplate.html', 

     scope: {info: '='} 
    }; 
}