Используйте функцию callback()
внутри успеха foo()
. Попробуйте таким образом. Это просто и легко понять. & nbsp;
var lat = "";
var lon = "";
function callback(data) {
lat = data.lat;
lon = data.lon;
}
function getLoc() {
var url = "http://ip-api.com/json"
$.getJSON(url, function(data) {
callback(data);
});
}
getLoc();
Это способ избыточности, так как вы могли просто использовать предложения в комментариях к display: none
или подобным, но просто как забавное упражнение:
Синтаксис для вызова директивы для комментария:
<!-- directive: foo expression -->
Я надеялся, что что-то вроде ng-bind
поддержал комментарии, но это не так. Но вы можете легко создать свой собственный:
app.directive('comment', function($interpolate) {
return {
restrict: 'M',
scope: true,
link: function(scope, element, attrs) {
var comment = $interpolate(attrs.comment)(scope);
element.replaceWith("<!-- " + comment + "-->" );
}
};
});
И использование:
<!-- directive: comment "something something {{item.id}}" -->