2016-04-11 22 views
3

這是工作:角控制器內打開的Outlook

的Html

<a href="mailto:?subject={{vm.property.address.streetNumber}}, {{vm.property.address.streetName}} {{vm.cityName}} {{vm.stateName}}%20IPL%20#%20{{vm.property.id}}&body={{comment.note}}">@L("CsEmail")</a> 

這不是工作:

<a ng-href="{{vm.email}}" ng-click="vm.composeEmail(comment)">@L("CsEmail")</a> 

JS

vm.composeEmail = function (data) { 
vm.email = "mailto:?subject={{vm.property.address.streetNumber}}, {{vm.property.address.streetName}} {{vm.cityName}} {{vm.stateName}}%20IPL%20#%20{{vm.property.id}}&body={{data.note}}"; 

    // I need to save this here 

       }; 

問:我需要在發送電子郵件後保存數據。因此我不能使用第一個選項。但第二個選項不起作用。這意味着它不打開前景。怎麼做?

回答

1

我們使用這種從角控制器:

vm.composeEmail = function (data) { 
    var email = "mailto:..."; 
    //save here 
    $window.location.href = email; 
}; 

這種方式可以節省任何需要保存,然後從控制器打開郵件客戶端。在HTML會是這個樣子:

<a ng-href="" ng-click="vm.composeEmail(comment)">@L("CsEmail")</a> 

您還需要打破你「的mailto」字符串,如thegio建議。

+0

Thanks.It工作正常:) – Sampath

1

爲什麼不直接使用範圍瓦爾,這樣的:

vm.email = "mailto:?subject=" + vm.property.address.streetNumber + ", " + vm.property.address.streetName + " " + vm.cityName + " " + vm.stateName + " " + "IPL# " + vm.property.id + "&body=" + data.note; 

做你試圖添加目標= 「_空白」:

<a ng-href="{{vm.email}}" ng-click="vm.composeEmail(comment)" target="_blank">@L("CsEmail")</a> 
+0

正如我上面提到的那麼它沒有被打開outlook。你知道爲什麼嗎?謝謝。 – Sampath

+0

是一個錯誤:https://github.com/angular/angular.js/issues/6967嘗試目標_blank – thegio

+0

或看看這個:http://stackoverflow.com/questions/22925326/angularjs-mailto-not-發送電子郵件 – thegio

0

如何使用$window.open('mailto:etc');裏面的功能?

0

內 「composeemail」 功能打開一個新窗口

$window.location.href = 'mailto:etc' 

,並刪除裏面ng-href

1

價值也許更好的解決方案:

<div ng-app="myApp"> 
    <div ng-controller="MyCtrl"> 
     <a href="mailto:{{email}}"><span>Email {{email}}</span></a> 
    </div> 
    </div> 

var myApp = angular.module('myApp',[]); 
var MyCtrl = function($scope) { 
    $scope.email = '[email protected]'; 
    $scope.name = "Bob"; 
    $scope.cc = "[email protected]"; 
    $scope.subject = "this is the subject"; 
} 

我希望它能幫助。

+0

我需要通過每個和上面的每個組件都不是?主題,正文等。 – Sampath

+0

沒有必要,這只是舉例,你可以將它們連成一個長串。 – thegio

+0

感謝支持+1。對我來說似乎更多的工作:(@fikkatra解決方案正在工作,再次感謝。 – Sampath