如何编写生成另一个指令的AngularJS指令?

时间:2013-05-27 11:58:03

标签: angularjs angularjs-directive

我像这样使用alert directive

<alert ng-repeat="alert in alerts" type="'danger'">{{alert}}</alert>

其中alerts类似于:['Hello', 'World']

我想创建一个alerts指令,它将像这样使用:

<alerts model="alerts"></alerts>

将与上述相同。

我试着开始:( live demo

app.directive('alerts', function() {
  return {
    restrict: 'E',
    scope: {
      model: '='
    },
    template: '<alert ng-repeat="alert in {{model}}" type="\'danger\'"></alert>'
  };
});

但是我收到以下错误:

Syntax Error: Token 'model' is unexpected, expecting [:] at column 3 of the expression [{{model}}] starting at [model}}].

为什么?

实施alerts指令的正确方法是什么?

1 个答案:

答案 0 :(得分:4)

从模板中的ng-repeat绑定中删除{{和}}。它会工作。您无需在表达式中使用{{}}。