在控制器外部创建角模态
Create Angular Modal Outside of Controller
在app.js
中,特别是在$rootScope.$on('$routeChangeStart')
中,我有一个创建模态的函数:
setIdleTimeout.$inject = ['$uibModal']
function setIdleTimeout(timerStart, timerDuration, $scope, $uibModal){
console.log('timerStart: ', timerStart, 'timerDuration: ', timerDuration)
setTimeout(function(){
console.log('setTimeout running')
var modalInstance = $uibModal.open({
animation: $scope.animationsEnabled,
templateUrl: '****',
controller: '****',
scope: $scope,
size: size,
backdrop : 'static',
resolve: {}
});
modalInstance.result.then(function (selectedItem) {
$scope.selected = selectedItem
}, function () { })
}, 10000)
}
我得到Uncaught TypeError: Cannot read property 'open' of undefined
,即使我注入它并包括Index.html
的源代码
<script src="~/lib/angular-bootstrap/ui-bootstrap-tpls.js"></script>
如何在控制器外部创建模态?
可能需要更多关于你的代码结构的细节,特别是你调用$rootScope.$on()…
我认为你这里的问题是$uibModal
没有正确注射。而不是在setIdleTimeout
函数中使用$inject
,而是试图在注入$rootScope
的同一级别注入$uibModal
。
相关文章:
- 将数据传递给由服务创建的Ionic模态
- 创建一个模态指令,并将click事件绑定到angular js中
- 在模态窗口上创建 cookie
- 创建一个模态窗口以使用 AngularJS 加载数据
- Angularjs $compiling模态窗口内容创建孤立的控制器
- 创建 iframe 嵌入并使用模态
- 在每个show()上创建新的模态对话框
- 获取<输入类型=“;文本“>它是在模态中动态创建的
- 在何处创建与控制器无关的角度模态对话框(角度材质)
- AngularJS在创建后将参数传递给模态
- 在onclick中创建和显示模态
- AngularJS模态不't将创建的值返回给数组
- 我试图在模态中创建动态表进行摊销
- 超链接与变量创建一个模态框/弹出
- 使用Backbone.js创建一个模态
- 在Yii中使用RenderPartial创建一个模态搜索
- 如何创建多个模态来显示不同的数据
- 无法关闭从母版页创建的Ajax ModalPopupExtender模态窗口
- Javascript /如何创建一个适当的模态页面覆盖
- 创建一个自定义Jquery模态表单来上传数据