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
为什么你使用指令做post方法?只是好奇,因为我会做这个服务。 – MrNew
在您添加'GetAllActivityActionDetails'指令scope属性像 '范围:{GetAllActivityActionDetails: '&'}',然后就打电话'$ scope.GetAllActivityActionDetails' – Nilesh