2016-05-10 5 views
0

私はCordova + Ionic framework(AngularJSを使用)+ emailComposer pluginを使用してフォームスタイルのモバイルアプリケーションを作成しています。変数内に変数を表示またはネストする:Cordova、Ionic、emailComposer

考え方は、ユーザーがいくつかのドロップダウンやラジオボックスなどを入力することです。その後、emailComposerを使用して、あらかじめ定義されたHTMLのビットに包まれた応答データを、携帯電話のネイティブ電子メールアプリケーションのどこかで電子メールに読み込むボタンを押すと、ユーザーは作業する必要があります。

変数$ scope.fooが電子メールの本文に読み込まれていますが、問題は他の応答データ(変数)をその変数にネストする必要があることです。 (私はemailComposerにこれ以上の変数を受け入れることはできません)。

質問は、$ scope変数を別の$ scope変数の中のHTMLの中に表示する方法です。

電子メールコンポーザがAngularJSを使用していないため、私は{{配管}}を引き続き使用することはできません。

var exampleApp = angular.module('starter', ['ionic', 'ngStorage']) 


exampleApp.controller("EmailController", function($scope) { 

    $scope.someVariable = "whatever"; 
    $scope.anotherVariable = "something"; 

    $scope.foo = "<h1>I want to insert the two variables here: {{$scope.someVariable}} and here: {{$scope.anotherVariable}} in some nice HTML</h1>"; 

    $scope.sendEmail = function() { 
     if(window.plugins && window.plugins.emailComposer) { 
      window.plugins.emailComposer.showEmailComposerWithCallback(function(result) { 
       console.log("Email Sucess"); 
      }, 
       "subject here",       //subject line 
       $scope.foo,        //body 
       ["[email protected]", "[email protected]"], //to 
       null,         //CC 
       null,         //BCC 
       true,         //isHTML 
       null,         //attachments 
       null         //attachment data 
      ); 
     } 
    } 
}); 

答えて

0

あなたは。$の評価($のscope.foo)VAR emailBody = $スコープのようなものを使用することができ、その後、あなたのsendEmail関数にemailBody変数を渡すことができます。それは100%正確ではないかもしれませんが、基本的に、身体を評価し、結果を渡すことは正しいアプローチのようです。

関連する問題