0

使用 AngularJS,我想使用 ng-include 使我的代码通用。

所以这是我的问题:

我希望 ng-include 中使用的“ang-attribute.html”文件尽可能通用,为此我想在 html 之外获取属性名称。

像这样:

<div data-field-name="display_name">
    <div ng-include="'ang-attribute.html'"></div>
</div>

在我的 html 文件中,我想使用数据字段名称,然后以不同的值再次使用它。

我试图通过 DOM 获取它......但找不到这样做的方法。

所以在我的 ng-include html 文件中,我有以下行:

<div ng-controller="attributeCtrl">
    <div class="my-profile-constant-text">{{displayAttribute}}:</div>
....
</div>

也许有一种方法可以将构造函数传递给控制器​​,然后我可以将我的数据字段名称传递给它?或者任何其他解决方案?

谢谢!

4

1 回答 1

3

我相信您想查看指令,这有一个属性对象,在 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/

于 2013-05-12T11:40:57.680 回答