2016-05-28 16 views
5

材料のmdダイアログに問題があります。これは私のアプリケーションのcodepen(http://codepen.io/anon/pen/EyxyXj)です。 ダイアログを開いて「保存」をクリックすると、カードが作成されます。入力フォームのデータがカードに保存されないのはなぜですか?私は範囲にいくつかの問題があると思う。誰でも助けてくれますか?angularjsの入力フォームでmdダイアログを使用するには?

.then(function(answer) { 
     questList.allsQ.push({ 
     titolo: questList.titolo , 
     capitolo: questList.capitolo, 
     descrizione: questList.descrizione, 
     importo: questList.importo, 
     data: questList.data 
     }); 
     questList.titolo = ''; 
     questList.capitolo = ''; 
     questList.descrizione = ''; 
     questList.importo = ''; 
     questList.data = ''; 
} 

機能「プッシュ」は機能しますが、保存をクリックするとすべてのプロパティが未定義です。 ありがとう皆さん。

答えて

2

あなたは以下のように()関数を非表示にするモデルで更新データを渡す必要があり

<md-input-container class="md-block" flex-gt-xs=""> 
    <label>Titolo</label> 
    <input ng-model="questList.titolo" size="30" placeholder="inserisci il titolo"> 
</md-input-container> 

以下のようなHTMLにご入力フィールドのNG-モデルを修正してください。

.controller('DemoCtrl', function($scope, $mdDialog, $mdMedia) { 
    $scope.status = ' '; 
    var questList = this; 
    questList.allsQ = []; 
    questList.openDialog = function($event) { 
     $mdDialog.show({ 
     controller: function ($timeout, $q, $scope, $mdDialog) { 
       var quest =this; 
       // you will be returning quest 

       $scope.cancel = function($event) { 
       $mdDialog.cancel(); 
       }; 
       $scope.finish = function($event) { 
       $mdDialog.hide(); 
       }; 
       $scope.answer = function() { 
       //pass quest to hide function. 
       $mdDialog.hide(quest); 
       }; 
       }, 
     controllerAs: 'questList', 
     templateUrl: 'dialog.tmpl.html', 
     parent: angular.element(document.body), 
     targetEvent: $event, 
     clickOutsideToClose:true, 
     locals: {parent: $scope}, 
     }) 
    .then(function(quest) { 

     //here quest has data you entered in model 
     questList.allsQ.push({ 
     titolo: quest.titolo , 
     capitolo: quest.capitolo, 
     descrizione: quest.descrizione, 
     importo: quest.importo, 
     data: quest.data 
     }); 
     questList.titolo = ''; 
     questList.capitolo = ''; 
     questList.descrizione = ''; 
     questList.importo = ''; 
     questList.data = ''; 
     console.log(questList.allsQ); 
     console.log(questList.allsQ.length); 
    }); 
    }; 
    }); 
+0

ありがとうございます! – litas

2

私が提供するつもりです答えは間違いなく最高の答えではないが、それは削除サルバボタンをMD-ダイアログテンプレートからNGを提出、それは

を働くものです ng-click="answer(questList)"を追加そして、私はあなたのcodepen

をフォーク例があるあなたのプッシュ

このような
questList.allsQ.push({ 
    titolo: answer.titolo , 
    capitolo: answer.capitolo, 
    descrizione: answer.descrizione, 
    importo: answer.importo, 
    data: answer.data 
    }); 

を行います10

+0

ありがとうございます! – litas

関連する問題