在Angular JS中-如何使用ng-include使我的代码泛型和可重用



使用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/

最新更新