AngularJS:打开默认邮件应用程序并通过链接填充和主题

Ara*_*d S 2 angularjs

我正在尝试打开一个链接使用ng-href,一旦我点击它,我需要它打开一个电子邮件地址并填充其To,Subject和它的Body字段.这可以成为可能吗?

我试过这个,

<a ng-click=”sendMail($event)” href=”gmail.com” />

$scope.sendMail = function($event)
        {
            if($scope.showMailLink == true )
            {
                $event.preventDefault();
                window.location = $event.target.href;
                $window.open("mailto:veron@gmail.com?subject=hello&body=fggf_self");
            }
        };
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的,实际上并不是对的.这是一种有效的方法吗?

lin*_*lin 5

你应该使用location.href:

location.href = "mailto:veron@gmail.com?subject=hello&body=fggf"
Run Code Online (Sandbox Code Playgroud)

或定位当前窗口:

$window.open("mailto:veron@gmail.com?subject=hello&body=fggf", '_self');
Run Code Online (Sandbox Code Playgroud)

- 示例 -

视图

<div ng-controller="MyCtrl">
   <button ng-click="mailWithLocation()">
     Mail via location.href 
   </button>
   <button ng-click="mailWithWindowOpen()">
     Mail via $window.open() 
   </button>
</div>
Run Code Online (Sandbox Code Playgroud)

AngularJS应用程序

var myApp = angular.module('myApp',[]);

myApp.controller('MyCtrl', function ($scope, $window) {
    $scope.mailWithLocation = function () {
       location.href = "mailto:veron@gmail.com?subject=hello&body=fggf"
    }

    $scope.mailWithWindowOpen = function () {
       $window.open("mailto:veron@gmail.com?subject=hello&body=fggf", '_self');
    }
});
Run Code Online (Sandbox Code Playgroud)