4

我正在使用角度 js,我在两个不同的 jsp 文件中编写了代码。显示了两个不同的视图。如果我渲染单个视图,它可以正常工作。但是如果我在同一页面上渲染两个视图,我会收到此错误

Error: Argument 'UserCtrl' is not a function, got undefined

jsp中的js代码片段如下。

在我的第一个 jsp 文件中是

// Bootstrap the Application
var App = angular.module('module', []);
// Set up a controller and define a model
App.controller('UserCtrl', function($scope) {
    $scope.user = {};
    jQuery.get("<c:url value='${someUrl}'/>",
            function(data) {
            angular.element('#user_detail').scope().user = data;
            angular.element('#user_detail').scope().$apply();
}, "json");
});

第二个是

// Bootstrap the Application
var App = angular.module('module', []);

// Set up a controller and define a model
App.controller('ProfileCtrl', function($scope) {
    $scope.profile = {};
    jQuery.get("<c:url value='${someUrl}'/>",
            function(data) {
            angular.element('#profile').scope().profile = data;
            angular.element('#profile').scope().$apply();
}, "json");
});

我尝试为模块提供不同的名称,但这对我也不起作用。感谢任何帮助。谢谢 !

4

2 回答 2

6

得到它的工作。这是由于 ng-app 变量,我已经将它绑定在两个 jsp 页面上。所以现在我将它绑定到两个 jsp 的主体包装器。

于 2013-02-13T08:33:39.623 回答
4

我认为您正在重新初始化应用程序变量,请尝试以下代码

 var App  = App  ||angular.module('module', []);

工作小提琴是 http://jsfiddle.net/e6A5q/

于 2013-02-04T15:09:14.563 回答