Pertanyaan Apa yang setara dengan direktif, kompilasi (pre / post) di TypeScript?


Saya punya pertanyaan apa yang setara dengan direktif: kompilasi (pre / post)?

Contoh dalam javascript:

angular.module('app').directive('checkBox', function () {
  return {
      //... my directive options

      compile: function () {
           return function () {
               pre: function (scope) {}
               post: function (scope) {}
           }
      }
  }
});

Apa yang dimaksud dengan TypeScript untuk ini?


5
2017-10-05 12:08


asal


Jawaban:


Ini akan setara dengan:

public compile = (element: JQuery, attrs: angular.IAttributes, transclude: any): DirectivePrePost => {
            return {
                pre: ($scope: any, element: JQuery, attrs: angular.IAttributes) => {

                },
                post: ($scope: any, element: JQuery, attrs: angular.IAttributes) => {

                }
            };
        }

8
2018-05-21 21:47



jika Anda menggunakan referensi dari http://definitelytyped.org/tsd/

Ini seperti

compile = (tElem: ng.IAugmentedJQuery, tAttrs: ng.IAttributes, transclude: ng.ITranscludeFunction): ng.IDirectivePrePost => {
            return {
                pre: (scope: IOrderDetailDirScope, iElem: ng.IAugmentedJQuery, iAttrs: ng.IAttributes) => {

                },
                post: (scope: IOrderDetailDirScope, iElem: ng.IAugmentedJQuery, iAttrs: ng.IAttributes) => {

                }
            };
        };

6
2017-08-04 19:44



Anda memiliki nilai kembalian dari compile salah. Anda seharusnya mengembalikan objek bukan fungsi:

compile: function () {
           return { // no `function ()`
               pre: function (scope) {}
               post: function (scope) {}
           }
      }

Potongan kode ini akan berfungsi sebagaimana halnya dengan TypeScript.


1
2017-10-05 22:31