Angularjs 尝试忽略一个简单的角度模式会导致:无法读取属性';解雇';未定义的

Angularjs 尝试忽略一个简单的角度模式会导致:无法读取属性';解雇';未定义的,angularjs,twitter-bootstrap,angular-ui,Angularjs,Twitter Bootstrap,Angular Ui,我试图让一个简单的模式出现时,用户点击的东西,仍然在我的演示应用程序的建设 我希望用户单击模式面板上的“关闭”按钮,直到这一点为止。当他们这样做时,他们得到: TypeError:无法读取未定义的属性“disclose” 这是我在主控制器中的配置: $scope.underConstruction = function () { var modalInstance = $modal.open({ templateUrl: 'app/shared/undercons

我试图让一个简单的模式出现时,用户点击的东西,仍然在我的演示应用程序的建设

我希望用户单击模式面板上的“关闭”按钮,直到这一点为止。当他们这样做时,他们得到:

TypeError:无法读取未定义的属性“disclose”

这是我在主控制器中的配置:

    $scope.underConstruction = function () {
    var modalInstance = $modal.open({
        templateUrl: 'app/shared/underconstruction.html',
        controller: 'ModalInstanceCtrl',
        size: 'sm',
        resolve: {
            '$modalInstance': function () { return function () { return modalInstance; } }
        }
    });
    console.log('modal opened');
    modalInstance.result.then(function (response) {
        $scope.selected = response;
        console.log(response);
    }, function () {
        console.log('Modal dismissed at: ' + new Date());
    });
};
然后在我的ModalInstanceCtrl中,我有:

app.controller('ModalInstanceCtrl', ['$scope', '$modal', function ($scope, $modal, $modalInstance) {
$scope.cancel = function () {
    $modalInstance.dismiss('cancel');
};
}]);
我使用的是AngularUI版本0.12.0,angularjs版本1.3.11

命中close()方法,然后抛出上述错误

我查看了各种结果和问题,看到了bug和其他问题的引用,但是用例比我的更复杂——我的模式只显示了一些文本和一个关闭按钮。例如,我:

$modalInstance可通过AngularUI引导实现在控制器中注入。因此,我们不需要任何努力来“解决”或以某种方式使其可用


我能够简化事情:

$scope.underConstruction = function () {
    var modalInstance = $modal.open({
        templateUrl: 'app/shared/underconstruction.html'
    });
    console.log('modal opened');
};
然后在我的模态模板中:

  <button class="btn btn-primary" ng-click="$dismiss('cancel')">Close this message</button>
关闭此消息
根据文件:

此外,与modal内容相关的范围通过两种方法进行了扩展:

$close(结果)

$解雇(原因)

这些方法使关闭模式窗口变得容易,而无需创建>专用控制器


我之前确实尝试过,但我想可能是其他原因干扰了我,或者我没有清除缓存。

我能够简化事情:

$scope.underConstruction = function () {
    var modalInstance = $modal.open({
        templateUrl: 'app/shared/underconstruction.html'
    });
    console.log('modal opened');
};
然后在我的模态模板中:

  <button class="btn btn-primary" ng-click="$dismiss('cancel')">Close this message</button>
关闭此消息
根据文件:

此外,与modal内容相关的范围通过两种方法进行了扩展:

$close(结果)

$解雇(原因)

这些方法使关闭模式窗口变得容易,而无需创建>专用控制器

我之前确实尝试过这一点,但我猜可能是其他原因造成了干扰,或者我没有清除缓存。

您故意将
$modalInstance
参数“定义”为
未定义的
,方法是在声明
ModalInstanceCtrl
控制器的内联注释数组中不将其声明为依赖项

应该是:

['$scope','$modal','$modalInstance',函数($scope,$modal,$modalInstance){…}]

“我们不需要任何努力…”部分并不意味着您不必将其指定为依赖项。

您故意将
$modalInstance
参数“定义”为
未定义的
,方法是在声明
modalinstancetrl
控制器的内联注释数组中不将其声明为依赖项

应该是:

['$scope','$modal','$modalInstance',函数($scope,$modal,$modalInstance){…}]

“我们不需要任何努力…”部分并不意味着您不必将其指定为依赖项。

它适合我

if(typeof(alert/popover)!="undefined"){
    await alert/popover.dismiss();
  }
它对我有用

if(typeof(alert/popover)!="undefined"){
    await alert/popover.dismiss();
  }

斯图伊回答正确。你应该去掉这个符号,在缩小脚本时使用ngmin或ngannotate。你应该去掉这个符号,在缩小脚本时使用ngmin或ngannotate。啊,好的。谢谢这更像我现在所期待的。啊,好的。谢谢这更像是我现在所期待的。