使用AngularJS将其他参数传递给模板

时间:2014-02-27 23:17:41

标签: javascript angularjs angularjs-directive parameter-passing

我有以下指令:

app.directive("actTemplate", function() {
return {
    restrict: 'A',
    templateUrl: "/views/myTemplate.html"
};
});

如何将其他参数传递给myTemplate:

<div>
{{aditionalParam}}

...

</div>

取值?

2 个答案:

答案 0 :(得分:0)

定义

app.directive("actTemplate", function() {
  return {
    restrict: 'A',
    templateUrl: "/views/myTemplate.html"
    scope: {
      foo: '=boo'
    }
  };
});

模板

<div>
  {{foo}}
</div>

使用

<actTemplate boo="lalala" />

答案 1 :(得分:0)

您必须指定您的指令应该创建它的内部范围。然后可以以单绑定或双绑定方式共享范围变量(请参阅directive scope binding doc

app.directive("actTemplate", function() {
    return {
        restrict: 'A',
        scope: {
            additionalParam: '='
        },
        template: "<div>{{additionalParam}}</div>"
    };
});

然后用这个破灭的语法“调用”你的指令:

<div act-template additional-param="foobar">

您可以使用此jsfiddle example中的单向绑定(controller - &gt;指令)。

或双向数据绑定(控制器&lt; - &gt;指令),例如this one