Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法将对象传递给AngularUI模式_Javascript_Angularjs - Fatal编程技术网

Javascript 无法将对象传递给AngularUI模式

Javascript 无法将对象传递给AngularUI模式,javascript,angularjs,Javascript,Angularjs,我最近开始研究AngularJS,并正在研究该框架的用途 然而,我在一个非常基本的测试用例中遇到了一个障碍 我试图做的是打开一个带有动态标题和内容的模式(在这个简单的测试中,我只是从$scope.open(,,,)调用中获取它,为了简单起见) 但是,有一个小问题-在之后,我发现自己无法将params对象从ModalController(处理模态演示的部分的控制器)传递到ModalInstanceController,后者控制各个模态对话 具体来说,我得到以下错误: TypeError: Can

我最近开始研究AngularJS,并正在研究该框架的用途

然而,我在一个非常基本的测试用例中遇到了一个障碍

我试图做的是打开一个带有动态标题和内容的模式(在这个简单的测试中,我只是从
$scope.open(,,,)
调用中获取它,为了简单起见)

但是,有一个小问题-在之后,我发现自己无法将
params
对象从
ModalController
(处理模态演示的部分的控制器)传递到
ModalInstanceController
,后者控制各个模态对话

具体来说,我得到以下错误:

TypeError: Cannot read property 'title' of undefined
at new <anonymous> (http://fiddle.jshell.net/pEmXt/show/:68:24)
at invoke (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:3624:28)
at Object.instantiate (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:3636:23)
at http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:6639:28
at http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.11.0.min.js:8:28715
at wrappedCallback (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:10597:81)
at http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:10683:26
at Scope.$eval (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:11576:28)
at Scope.$digest (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:11421:31)
at Scope.$apply (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:11682:24)
TypeError:无法读取未定义的属性“title”
在纽约(http://fiddle.jshell.net/pEmXt/show/:68:24)
在调用时(http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:3624:28)
在Object.instantiate(http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:3636:23)
在http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:6639:28
在http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.11.0.min.js:8:28715
在wrappedCallback(http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:10597:81)
在http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:10683:26
在范围内。$eval(http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:11576:28)
在范围内。$摘要(http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:11421:31)
在范围内。$apply(http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:11682:24)

问题:如何正确地将参数从总体控制器传递到对话实例控制器?

我稍微更改了您手中的代码

特别是,增加了:

$scope.params = [];

内部
ModalController
。我还更改了声明控制器的方式:

var ModalController = function ($scope, $modal, $log) { ...

var ModalInstanceController = function ($scope, $modalInstance, params) { ...
基于您链接的示例


谢谢!它起作用了。。。但是对于学习部分。为什么我不能使用
[controllerObject].controller(通常为gularstuff)
来定义我的控制器?为什么我必须使用函数对象作为控制器?你所说的[controllerObject]是什么意思?在我最初的示例中,我为应用程序的控制器定义了一个
angular.module
,然后使用
controller
方法在该模块上定义控制器。为什么在模块上定义的控制器不能与引导模式的Angular UI一起工作,而原始函数工作得很好?您可以。我再次阅读了您的代码,发现有一些语义错误(例如,有时您同时编写了
demoApp
app
)。以下是角度控制器定义的固定代码
var ModalController = function ($scope, $modal, $log) { ...

var ModalInstanceController = function ($scope, $modalInstance, params) { ...