javascript - 使 Angular Directive(指令)链接功能作为预链接?

标签 javascript angularjs angular-directive angular-directive-link

我有一个指令链接函数。默认情况下, Angular 链接函数是一个后链接函数,不是吗?如何将其设为预链接?

app.directive("textBoxCol", function () {
        return {
            require: "^grid",
            restrict: "E",
            replace: true,
            scope: {
                title: "@title",
                cssClass: "@class",
                dataField: "@field"
            },
            link: function ($scope, element, attrs, grid) {
                $scope.type = ColumnType.TextBox;
                tableControl.addColumn($scope);
            }
        };
    });

顺便说一句,它使用 require。

最佳答案

您将需要实现compile 函数并从中返回prelink 函数。

摘自 Angular 的文档(https://docs.angularjs.org/api/ng/service/%24compile):

compile: function compile(tElement, tAttrs, transclude) {
  return {
    pre: function preLink(scope, iElement, iAttrs, controller) { ... },
    post: function postLink(scope, iElement, iAttrs, controller) { ... }
  }
  // or
  // return function postLink( ... ) { ... }
},

关于javascript - 使 Angular Directive(指令)链接功能作为预链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33893534/

相关文章:

javascript - tr 显示无崩溃 ie9

javascript - 自定义 html 生成器中的逻辑流缺陷

javascript - Angular 指令 - 两次包含相同内容

Angular:使用自定义 ControlValueAccessor 测试组件时从不调用 registerOnChange

angular - 不能在库中使用 *ngFor

javascript - 文件中的 Jquery 脚本源无法加载

javascript - JQuery 插件可以在 JQuery 方法链上调用吗?还是需要在选择器之后直接调用?

javascript - 表格中的单选按钮已选中和未选中

javascript - 如何让 onclick 事件跳转到 offclick?

css - Angular Directive(指令)显示顺序