So I have this directive called say, mySave
, it's pretty much just this
app.directive('mySave', function($http) {
return function(scope, element, attrs) {
element.bind("click", function() {
$http.post('/save', scope.data).success(returnedData) {
// callback defined on my utils service here
// user defined callback here, from my-save-callback perhaps?
}
});
}
});
the element itself looks like this
<button my-save my-save-callback="callbackFunctionInController()">save</button>
callbackFunctionInController is for now just
$scope.callbackFunctionInController = function() {
alert("callback");
}
when I console.log()
attrs.mySaveCallback
inside my-save directive, it just gives me a string callbackFunctionInController()
, I read somewhere that I should $parse this and it would be fine, so I tried to $parse(attrs.mySaveCallback)
which gave me back some function, but hardly the one I was looking for, it gave me back
function (a,b){return m(a,b)}
What am I doing wrong? Is this approach flawed from the beginning?
question from:
https://stackoverflow.com/questions/15896985/callback-function-inside-directive-attr-defined-in-different-attr 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…