一个app中的2个控制器:$ Scope

时间:2016-09-30 17:50:59

标签: javascript html angularjs html5

我在一个应用程序中有2个控制器。

每个控制器都链接到一个表单。  在第一个控制器中,我可以从表单中获取值,但在第二个控制器中,我可以使用带有点user.name的ng-model,并且它的代码几乎相同控制器和表格。

可能是$scope问题吗?

  1. 第一个控制器(工作):

    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. 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'
    };
    

0 个答案:

没有答案