我在一个应用程序中有2个控制器。
每个控制器都链接到一个表单。
在第一个控制器中,我可以从表单中获取值,但在第二个控制器中,我可以使用带有点user.name
的ng-model,并且它的代码几乎相同控制器和表格。
可能是$scope
问题吗?
第一个控制器(工作):
customModule2.controller('ProjectController',function ($state, $stateParams, $location, $log,$http, $scope, projectFactory , appSettings) {
$scope.project = {};
$scope.setProject = function () {
if($scope.ProjectForm.$valid) {
projectFactory.addProject($scope.project)
.success(function (data) {
$scope.addMessage = data;
console.log('here' + $scope.project.name);
})
.error(function (data, status) {
$scope.addMessage = "Erreur lors de l'ajout : " + data + ' ' + status;
console.log('here');
$log.log(data.error + '' + status);
});
$scope.showMessage = true;
$scope.ProjectForm.$setPristine();
}
};
2.第二控制器:
customModule2.controller('UserController',function ($state, $stateParams, $location, $log,$http, $scope, userFactory , appSettings) {
$scope.user = {};
$scope.setUser = function () {
if($scope.UserForm.$valid) {
userFactory.addUser($scope.user)
.success(function (data) {
console.log("controller set : " + this.user.firstname);
$scope.addMessage = data;
$log.log('');
})
.error(function (data, status) {
console.log("user firstname : " + $scope.user.firstname);
});
$scope.UserForm.$setPristine();
}
};
)};
在View端,我可以看到用户值被填满,但我在控制台中显示为空。
任何帮助都将不胜感激。
谢谢。
编辑:
第一个控制者的表格:
<form name="ProjectForm" class="form-horizontal" ng-submit="setProject()" >
<button id="Submit" name="Submit" class="btn btn-primary" ng-click="showMessage = 'false'" ng-disabled="ProjectForm.$invalid">Save</button>
第二名管制员表格:
<form name="UserForm" class="form-horizontal" ng-submit="setUser()" >
<button id="Submit" name="Submit" class="btn btn-primary" ng-click="showMessage = 'false'" ng-disabled="UserForm.$invalid">Save</button>
使用angular-ui-router
库为每个View I设置一个控制器,如下所示:
var addProjectState = {
name: 'addProject',
url: '/addProject',
params: {
projectId: null
},
controller : 'ProjectController',
templateUrl: 'http://localhost:8080/gestionprojet/transtu/Project/add'
};
var addUserState = {
name: 'addUser',
url: '/addUser',
params: {
userId: null
},
controller : 'UserController',
templateUrl: 'http://localhost:8080/gestionprojet/transtu/User/add'
};