我有如下所示的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。
答案 0 :(得分:1)
正如@mvermand所说,这是angularjs中的错误,已在1.7.2中解决。升级您的angularjs。