我试图像这样用玉石调用mixin
+projectInfo("assets/images/image.jpg",{{repository.project[projectId].unit}})
错误:
Unexpected token { at Function (native) at assertExpression ...
我也尝试过这样:
+projectInfo("assets/images/image.jpg",repository.project[projectId].unit)
错误:
Cannot read property 'project' of undefined
我做错了什么?
更新:mixin看起来像这样
mixin projectInfo(img, title)
.container-fluid
.col-xs-12.projectInfo
.col-xs-12.img
img(src= img)
.col-xs-12.title
h1= title
答案 0 :(得分:0)
当您将AngularJS与Jade一起使用时,最好使用带有自己模板的指令(如果您愿意,也可以使用Jade提供)
你正在使用它的情况不是很正确,jade将被构建为html,在这个过程中,传递给mixin的值将用于绘制mixin模板而不是+mixinName()
,并且如你所愿把动态值放在那里使用AngularJs方法是必要的:
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: '='}
};
}