2017-04-22 13 views
0

ng-model値をhtmlからcontrollerに取得して未定義にしようとしています。私は、コントローラを使用していますapp.jsでAngular JSがHTMLからコントローラにスコープ値を取得しない

function getUser(name){ 
     console.log('User Name --> '+$scope.login.user.name+" "+$scope.name+" "+self.user.name +$scope.userName+" "+name); 

     return LoginService.getUserByName(name); 
    } 

コントローラでは、私は以下のコードを使用しています
<div class="row"> 
     <div class="form-group col-md-12"> 
      <label class="col-md-2 control-lable" for="uname">User Name</label> 
      <div class="col-md-7"> 
      <input type="text" ng-model="login.user.name" id="uname" class="username form-control input-sm" placeholder="User name" required ng-minlength="3"/>     
      </div> 
      </div> 
      </div> 
<button type="button" ng-click="login.getUser(login.user.name)" class="btn btn-warning btn-sm" ng-disabled="myForm.$pristine">Login</button> 

、私はコンソールで未定義取得しています

app.config(['$stateProvider', '$urlRouterProvider', 
function($stateProvider, $urlRouterProvider) { 

    $stateProvider 
     .state('home', { 
      url: '/', 
      templateUrl: 'partials/list', 
      controller:'UserController', 
      controllerAs:'ctrl', 
      resolve: { 
       users: function ($q, UserService) { 
        console.log('Load all users'); 
        var deferred = $q.defer(); 
        UserService.loadAllUsers().then(deferred.resolve, deferred.resolve); 
        return deferred.promise; 
       } 
      } 
     }).state('login', { 
      url: '/login', 
      templateUrl: 'partials/login', 
      controller: 'loginController', 
      controllerAs:'login' 
      }); 
    $urlRouterProvider.otherwise('/'); 
}]); 

。なぜ私が価値を受け取ることができないのかを提案してください。

+0

をモデルにアクセスするためにvar self = this;

を使用していますか?もっとコードを表示してください。 –

+0

コントローラに追加する$ scope.test = "テスト範囲"とビューのどこか{{テスト}} "テスト範囲"が表示されているかどうかを教えてください。 – DiPix

答えて

0

あなたのコードでは、controllerAs構文を使用しています。ので、あなたのコントローラでおそらくあなたは、ビューで `controllerAs`構文を使用しないコントローラでの使用にこの

console.log('User Name --> '+self.user.name); 
関連する問題