AngularJS指令:$ timeout替代

时间:2017-04-05 07:01:14

标签: javascript angularjs angularjs-directive

我正在使用angularJS 1.6指令添加一些jQuery库。现在我正在使用它:

let SomeDirective = function ($timeout) {
  'ngInject';

  return {
    restrict: 'A',
    link: function (scope, element, attrs) {

      $timeout(function () {
        element.somePlugin(JSON.parse(attrs.params));
      });

    }
  };
};

export default SomeDirective;

由于这个事实,我在html对象上设置了一些指令,这是从服务器加载的,我认为angular不明白,当应用这个指令时......

但我认为这种做法很奇怪而且丑陋......我怎么能解决这个指令?

顺便说一句,添加范围isLoaded变量(并在指令中观察)并没有解决我的问题

1 个答案:

答案 0 :(得分:2)

您可以使用$ scope。$ evalAsync()。请参阅https://docs.angularjs.org/api/ng/type/ $ rootScope.Scope。