0
指令から関数を呼び出すにはどうすればよいですか? GetAllActivityActionDetailsメソッドが呼び出されると、関数は起動しません。 contrller機能:Angularjsコントローラ指令
function GetAllActivityActionDetails() {
alert("GetAllActivityActionDetails");
}
指令は次のとおりです。
app.directive("bwUpload", ['$log', '$http', function ($log, $http) {
return {
scope: { project: "=", activity: "=", action: "=", document: "=" },
link: function (scope, element, attributes) {
element.bind("change", function (changeEvent) {
var reader = new FileReader();
reader.onload = function (loadEvent) {
$log.log('onload.byteLength: ' + loadEvent.target.result.byteLength);
scope.$apply(function() {
var p = 'project_id=' + scope.project._id + '&activity_id=' + scope.activity._id +
'&action_name=' + scope.action.name + '&document_id=' + scope.document._id
var config = {
url: 'baf/DocumentUpload?' + p,
method: 'POST',
headers: { 'Content-Type': 'application/octet-stream' },
data: new Uint8Array(loadEvent.target.result),
transformRequest: []
};
$http(config).then(
function (resp) {
var response = resp.data;
$log.log("DocumentUpload response (fileName, length): " + response.fileName + ", " + response.length);
alert('Document Uploded.');
//bwGlobals.refreshView()
alert(scope.activity._id);
//GetAllActivityActionDetails(scope.activity._id);
scope.$apply("GetAllActivityActionDetails()");
alert("GetAllActivityActionDetails");
},
function (errResponse) { alert(errResponse); }
);
});
}
reader.readAsArrayBuffer(changeEvent.target.files[0]);
});
}
}
}]);
私はGetAllActivityActionDetails()フォームディレクティブを呼びたいが、それは、角度パターンの良い練習ではありませんが、それは
私はまたして行わ見ることができます: GetAllActivityActionDetails(scope.activity._id)。 同じ結果//発砲しない – SoloThink
なぜポストメソッドを実行するのにディレクティブを使用していますか?私はこれをサービスとしてやっているだけで好奇心が強い。 {GetAllActivityActionDetails:: '&'} 'してからちょうど呼び出す' $ scope.GetAllActivityActionDetails' – MrNew
は '' スコープのようなあなたのディレクティブのスコープのプロパティでGetAllActivityActionDetails'を追加しますあなたのhtmlでその関数を割り当てますか? – Nilesh