2016-12-07 10 views
0

john papaスタイルを使用して角度アプリを開発しています。そのため、コントローラはサービスを使用して別のコントローラにデータを渡しています。 2番目のコントローラでは、コントローラがコールを取得したときに入力フィールドの値を設定します。私はそれを設定しようとしましたvmをコントローラとして使用する場合の入力フィールドの初期値の設定方法は?

vm.form.mobile = getMob[1].mobile;

これは私のためには機能しませんでした。ここで

は私の第二のコントローラここ

(function() 
    { 
     'use strict'; 

     angular 
      .module('app.pages.auth.verify-mobile') 
      .controller('VerifyMobileController', VerifyMobileController); 

     /** @ngInject */ 
     function VerifyMobileController($scope,dataservice,msApi, $state,$mdDialog) 
     { 
      var vm = this; 
      window.onbeforeunload = function() { 
       $state.go('app.pages_auth_login'); 
      } 
      var getMob = dataservice.getData(); 
      if(typeof getMob !== 'undefined'){ 

       vm.form.mobile = getMob[1].mobile; 

      } 
} 
}(); 

されるHTML要素

<form name="verifyMobileForm" novalidate> 
       <md-input-container class="md-block" md-no-float> 
        <input type="mobile" id="mobile" name="mobile" ng-model="vm.form.mobile" placeholder="Your Mobile number" ng-pattern="/^[789]\d{9}$/" maxlength="10" required> 
        <div ng-messages="verifyMobileForm.mobile.$error" role="alert" multiple> 
         <div ng-message="required"> 
          <span >Mobile no. is required</span> 
         </div> 

        </div> 

       </md-input-container> 
       <div class="dialog-demo-content" layout="row" layout-wrap layout-margin layout-align="center"> 
        <md-button type="submit" class="md-raised md-accent submit-button" ng-disabled="verifyMobileForm.$invalid || verifyMobileForm.$pristine" ng-click = "vm.checkMobile($event, document.getElementById('mobile').value)"> 
         Next 
        </md-button> 
       </div> 
      </form> 
+0

コンソールでこのエラーが発生しました – ocespedes

答えて

1

はNG-value属性 NG-値を追加しようとしている= "{{vm.form。モバイル}} "

例:

<input type="mobile" id="mobile" name="mobile" ng-value="{{vm.form.mobile}}" ng-model="vm.form.mobile" placeholder="Your Mobile number" ng-pattern="/^[789]\d{9}$/" maxlength="10" required> 
+0

コンソールでこのエラーが発生しました。 "angle.js:13920 TypeError:未定義の 'mobile'プロパティを設定できません。 – SaMeEr

+0

多分、JSでの変更を試してみてください: var getMob = dataservice.getData(); vm.form = {}; vm.form.mobile = getMob [1] .mobile; さらにng-value属性 – kanion

+0

ありがとうございます@kanionありがとうございます。あなたは素晴らしいです。 – SaMeEr

1

あなたのような、あなたのビューでcontrollerAs構文を使用していることを確認してください:

<div ng-controller="VerifyMobileController as vm"> 

編集:あなたは足でするときところで

if(typeof getMob !== 'undefined') 

マイト1日撮影結果はnullまたはNaNとして返されますが、これを書くための一般的な方法は次のとおりです。

if(getMob) 
+0

私は正しいコントローラを使用しています。残りのコードが正しく動作しているため、コントローラがコールを取得したときに入力フィールドの値を設定したいだけです。 – SaMeEr

+0

その編集をありがとう。 – SaMeEr

+0

vm.form.mobileを割り当てる前に、まずvm.formを定義してください。 または、このように:vm.form = {モバイル:getMob [1] .mobile;} –

関連する問題