2013-08-29 47 views
4

嗨我想在我的AngularJS项目中实现Jade模板,并在我的模板(可重用代码)中使用mixin。AngularJS中的Jade Mixins

但是我面临的问题是我们不能使用Mixin和参数。我是否正确地做了这件事,或者在AngularJS中有没有其他选择可以替代我缺少的东西?

+0

我认为没有必要在angularjs项目中使用mixins。你能告诉我们你的代码吗?我们将尽力为您寻找替代解决方案 – karaxuna

+0

感谢您的回复。问题已经解决了。使用元素指令并传递到之前用mixin编写的模板中。 – V31

回答

0

我发现mixins不能在Angular中使用,因为范围是要定义的。因此,现在创建了元素指令,并将其作为templateUrl传入模板中(该模板旨在用Mixin编写)。

+0

你有没有一个代码片段,方便与雅代码? – nikjohn

3

您可以从模型中创建一个JS对象,并把它作为字符串的混入如下所示:

+avatarRow({name: '{{avatar.name}}', uuid: '{{avatar.uuid}}', verificationCode: '{{avatar.verificationCode}}', status: '{{avatar.status}}'}) 

您现在可以访问例如在混入内部#{avatar.uuid}

我考虑到进一步的自动化,因为这会导致模型代码的重复,但这并不是很好。我会分享我的解决方案,如果我得到一个:)

+0

注意:在这个例子中,mixin必须期望接收一个名为'avatar'的参数,它将包含传递给它的对象。 'mixin avatarRow(avatar)' –