2017-12-15 2 views
0

ここでボタンをクリックするとconsole.logにアップロードされた写真を印刷します。
ユーザーが写真をアップロードしていないときにダミー写真を印刷することは可能ですか? docに関する$ scope.saveDetailsの機能チェックの内側入力タイプ= "ファイル"内に3値演算子を使用することはできます

var app = angular.module('myApp', []) 
 
app.controller('myController', function($scope) { 
 
    
 
    $scope.saveDetails = function(doc) { 
 
     console.log(doc.file) 
 
      
 
    }; 
 
}) 
 
app.directive("fileread", [function() { 
 
    return { 
 
     scope: { 
 
      fileread: "=" 
 
     }, 
 
     link: function (scope, element, attributes) { 
 
      element.bind("change", function (changeEvent) { 
 
       var reader = new FileReader(); 
 
       reader.onload = function (loadEvent) { 
 
        scope.$apply(function() { 
 
         scope.fileread = loadEvent.target.result; 
 
        }); 
 
       } 
 
       reader.readAsDataURL(changeEvent.target.files[0]); 
 
      }); 
 
     } 
 
    } 
 
}]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="myController" ng-init="init()"> 
 
    <div>upload profile photo</div> 
 
    <input type="file" id="file1" name="file" fileread="doc.file"/> 
 
    <button ng-click="saveDetails(doc)">save</button> 
 
</div>

+3

あなたのタイトルは質問自体に関連して表示されません... ...? –

答えて

0

。未定義の場合は、デフォルト値を割り当てます。

$scope.saveDetails = function(doc) { 
    if(doc === undefined) { 
      // assign a dummy photo.  
    } 
    console.log(doc.file) 

}; 
関連する問題