2016-05-18 6 views
1

これは難しい質問ではないと思いますが、何かが間違っていました。私は温泉のUIを使って作業していて、いくつかのパラメータが必要なダイアログウィンドウを作成したいと思っています。私はなぜそれが動作していないのか分からない。ここに私のHTMLは次のとおりです。ons-dialogでスコープパラメータを取得できません。どうして?

<ons-template id="tippDialog"> 
<ons-dialog var="tippdialog" id="tippdialog" ng-controller="controllerName" cancelable> 
    <div class="center"> 
     <h3>Tipp abspeichern</h3> 
     <form action="saveTip.php"> 
      <ons-input id="tippa" type="number" placeholder="TipA" value=""></ons-input> 
      <ons-input id="tippb" type="number" placeholder="TipB" value=""></ons-input> 
      <p>{{tip_matchid}}{{userid}}</p> 
     </form> 
     <ons-button id="tippspeichern">Speichern</ons-button> 
    </div> 
</ons-dialog> 

、これは私がコントローラに何をすべきかです:

$scope.dialogs = {}; 

      $scope.tipDialog = function(match_id){ 
       tip_matchid = match_id; 
       $scope.tip_matchid = tip_matchid; 
       $scope.userid = userid; 
       ons.createDialog("../dialogs/tippDialog.html", $scope).then(function(tippdialog){ 
        $scope.dialogs[tippdialog] = tippdialog; 
        tippdialog.show(); 
       }); 
      } 

はここstackoverflowの中に、このコードの一部が見つかりましたが私が見つけたものは何も役立ちませんでした。誰かが私を助けることを願っています。ありがとう!

答えて

0

私はドキュメントはいくつかの改善を使用することができると思います...

を、私はそれをテストしていませんが、私は、これは何だと思います探している:

$scope.dialogs = {}; 

$scope.tipDialog = function(match_id){ 
    $scope.tip_matchid = tip_matchid = match_id; 
    $scope.userid = userid; 
    ons.createDialog("../dialogs/tippDialog.html", {parentScope: $scope}).then(function(tippdialog){ 
     $scope.dialogs[tippdialog] = tippdialog; 
     tippdialog.show(); 
    }); 
} 

重要な部分は{parentScope: $scope}です。

現在の実装では、これは温泉チェックのプロパティです。
ons.$compile(angular.element(element))(options.parentScope.$new())です。

基本的に、あなたのダイアログにはあなたが提供したものの兄弟範囲があります。 {parentScope: $scope}を使用すると、代わりに子スコープになります。これはあなたが望むものです。

+0

ありがとうございます:-) thats it ... – KaFu

1

溶液を得る。それが最善の方法ではないのですが、あなたはこのようにそれを行うことができると思います。

$scope.dialogs = {}; 

      $scope.tipDialog = function(match_id, tipa, tipb){ 
       tip_matchid = match_id; 
       ons.createDialog("../dialogs/tippDialog.html", $scope).then(function(tippdialog){ 
        tippdialog._scope.tip_matchid = tip_matchid; 
        tippdialog._scope.userid = userid; 
        $scope.dialogs[tippdialog] = tippdialog; 
        tippdialog.show(); 
       }); 
      } 
関連する問題