Javascript-离子模态无法打开(TypeError:无法读取未定义的属性“ show”)?

Javascript-离子模态无法打开(TypeError:无法读取未定义的属性“ show”)?,第1张

概述我正在为Android开发一个离子angularJs应用程序.我不知道为什么,但是在我所谓的homeController中,每当我尝试调用一个函数以向我显示$ionicModal时,都会给我一个错误…TypeError:Cannotreadproperty‘show’ofundefinedatScope.$scope.openModal(homeModule.js:18)

我正在为Android开发一个离子angularJs应用程序.我不知道为什么,但是在我所谓的homeController中,每当我尝试调用一个函数以向我显示$ionicModal时,都会给我一个错误…

TypeError: Cannot read property ‘show’ of undefined at
Scope.$scope.openModal (homeModule.Js:18) at new
(homeModule.Js:59) at Object.invoke (ionic.bundle.Js:11994) at
$get.extend.instance (ionic.bundle.Js:16247) at ionic.bundle.Js:15502
at forEach (ionic.bundle.Js:8155) at nodelinkFn
(ionic.bundle.Js:15501) at compositelinkFn (ionic.bundle.Js:14887) at
publiclinkFn (ionic.bundle.Js:14766) at
IonicModule.controller.self.appendVIEwElement (ionic.bundle.Js:47324)

我的控制器看起来像这样(开始):

app.controller('homeController', function($scope, $ionicPopup, $state, $ionicLoading, $rootScope, $ionicModal, mapFactory){    // Load the modal from the given template URL    $ionicModal.fromTemplateUrl('templates/loginModal.HTML', function($ionicModal) {      $scope.modal = $ionicModal;      console.log($scope.modal);    }, {      scope: $scope,      animation: 'slIDe-in-up',      backdropClickToClose: false,      harDWareBackbuttonClose: false,      focusFirstinput: true    });    $scope.openModal = function() {        $scope.modal.show();    };    $scope.closeModal = function() {        $scope.modal.hIDe();    };

我已经尝试了许多不同的方法来使模式打开,有趣的是,每当我进入新的$state并返回时,它都会打开…但是当我刷新页面时却没有.另外,我做了一个console.log($scope.modal)来查看是否设置了我的变量,结果是:

ionic.Utils.inherit.child {focusFirstinput: true, unfocusOnHIDe: true, focusFirstDelay: 600, backdropClickToClose: false, harDWareBackbuttonClose: false…}$el: JQlite[1]animation: "slIDe-in-up"backdropClickToClose: falseel: div.modal-backdropfocusFirstDelay: 600focusFirstinput: trueharDWareBackbuttonClose: falsemoDalel: ion-modal-view.modalscope: ChildScopeunfocusOnHIDe: truevIEwType: "modal"__proto__: ionic.Utils.inherit.Surrogate 

谁能帮我这个忙吗?提前致谢.

解决方法:

该错误意味着未创建$scope.modal-您对fromTemplateUrl的调用不正确.第二个参数是模式选项,您正在传递回调.

该文档提供了一个good example.

在您的情况下,对fromTemplateUrl的调用应如下所示:

$ionicModal.fromTemplateUrl('templates/loginModal.HTML', {  scope: $scope,  animation: 'slIDe-in-up',  backdropClickToClose: false,  harDWareBackbuttonClose: false,  focusFirstinput: true}).then(function(modal) {  $scope.modal = modal;  console.log($scope.modal);});
总结

以上是内存溢出为你收集整理的Javascript-离子模态无法打开(TypeError:无法读取未定义的属性“ show”)?全部内容,希望文章能够帮你解决Javascript-离子模态无法打开(TypeError:无法读取未定义的属性“ show”)?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1079051.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存