使用AngularJS,我想使用ng-include使我的代码泛型。
我的问题是:
我想在ng-include中使用我的'ang-attribute.html'文件尽可能通用,为此,我想在html之外获得属性名称。
像这样:
<div data-field-name="display_name">
<div ng-include="'ang-attribute.html'"></div>
</div>
在我的html文件中我想使用data-field-name,然后用不同的值再次使用它。
我试图通过DOM得到它…我找不到一个方法来做到这一点。
所以在我的ng-include html文件中,我有以下行:
<div ng-controller="attributeCtrl">
<div class="my-profile-constant-text">{{displayAttribute}}:</div>
....
</div>
也许有一种方法传递构造函数到控制器,然后我可以传递我的数据字段名称到它?或者其他的解决方案?
谢谢!
我相信你想看看指令,这有一个属性对象,在dom呈现为重用后很容易访问。Html
<my-directive field-name="display_name"></my-directive>
指令angular
.module("myApp", [])
.directive("myDirective", function() {
return {
restrict: "E",
template: "<div>{{exposeAttribute}}</div>",
//templateUrl: "mytemplate.html",
link: function(scope, element, attr) {
scope.exposeAttribute = attr.fieldName;
}
};
});
http://jsfiddle.net/mhCaD/