0
私はテーブルディレクティブを作成したいと思っています。たとえば、「コントローラにない削除関数を呼び出す」というコールバックを渡す方法を知りたかったので、パラメータを使用してコールバックとして渡したいと思っていましたが、私はそれで頭を打っています。私は "リンク"を介してコールバックを返すことができます私は値を返すことはできませんし、コントローラはできません。Angular、Link、またはControllerディレクティブからコールバックを返しますか?
Imagem when I use link , but don't back values of callback
表示ダッシュボード
<div crud-table options='vm.options' callback='vm.myCallBack(response)'></div>
コントローラーのダッシュボード
(function() {
'use strict';
angular
.module('senhalivre')
.controller('DashboardMikrotikCtrl', DashboardMikrotikCtrl);
DashboardMikrotikCtrl.$inject = [];
function DashboardMikrotikCtrl() {
var vm = this;
vm.myCallBack = myCallBack;
vm.options = {
enabled : true,
msg : 'DashBoard',
// Configs etc.....
}
//////////////////
function myCallBack(response){
console.log('Callback !!! ');
console.log(response);
}
}
})();
あなたは、コールバックを呼び出すときに、パラメータオブジェクトにプロパティ '応答' を提供する必要が指令
(function() {
'use strict';
angular
.module('senhalivre')
.directive('crudTable', crudTable);
crudTable.$inject = [];
function crudTable() {
var directive = {
bindToController: true,
controller: crudTableCtrl,
templateUrl : './views/crud/crudTable.html',
controllerAs: 'vm',
link: link,
restrict: 'EA',
scope: {
options : '=',
callback : '&callback'
}
};
return directive;
////////////////
function link(scope, element, attrs, ctrl) {
scope.vm.callback({test : 'something'});
// Work
}
}
crudTableCtrl.$inject = [];
function crudTableCtrl() {
var vm = this;
vm.callback({test : 'something'});
// :(
}
})();