Angularjs材质$ mdDialog控制器在特定计算机上不起作用

时间:2018-07-10 11:32:14

标签: javascript angularjs angularjs-material

我有如下所示的mdDialog

function selectAddress(addressType) {
  $mdDialog.show({
    controller: function ($scope, $mdDialog) {
      var savm = $scope;
      savm.addressType = addressType;
      savm.close = $mdDialog.hide;

      savm.foo = function () {

      };

      savm.bar = function () {

      };
    },
    template: require('../views/dialog/address-select.template.view.html'),
    parent: angular.element($window.document.body),
    clickOutsideToClose: true,
  });
}

此代码可在办公室中的两个Mac上运行,但不能在其他操作系统(Ubuntu和Windows)上运行,并且会出现此错误:

angular.js:14940 TypeError: invokeCtrl is not a function
   at MdCompilerService.MdCompilerProvider.MdCompilerService._createController (angular-material.js:2729)
   at Object.linkFn [as link] (angular-material.js:2689)
   at linkElement (angular-material.js:4375)
   at angular-material.js:4251
   at processQueue (angular.js:17318)
   at angular.js:17366
   at Scope.$digest (angular.js:18479)
   at Scope.$apply (angular.js:18867)
   at HTMLButtonElement.<anonymous> (angular.js:28028)
   at defaultHandlerWrapper (angular.js:3795)

这些计算机中的所有软件包版本均相同:

angularjs:1.7.0,

angularMaterial:1.1.9,

chrome:版本67.0.3396.99(官方内部版本)(64位)

该问题的解决方案是什么。

PS:请不要遵循“要求”。我们使用WebPack。

1 个答案:

答案 0 :(得分:1)

正如@mvermand所说,这是angularjs中的错误,已在1.7.2中解决。升级您的angularjs。