我是角度js的新手。
就像知道他们所做的那样几行。
app.directive('fancybox', function($compile) {
return {
restrict: 'A',
replace: false,
link: function($scope, element, attrs) {
$scope.open_fancybox = function() {
var el = angular.element(element.html()),
compiled = $compile(el);
$.fancybox.open(el);
compiled($scope);
};
}
};
});
以下这些内容尚不清楚。
var el = angular.element(element.html()),
compiled = $compile(el);
$.fancybox.open(el);
compiled($scope);
1)$ compile在编译后会做什么以及返回什么? 2)当我们需要编译范围如编译($ scope);
我测试了如果我评论这行编译($ scope);然后价值没有表达.......为什么?
请详细指导我。感谢
答案 0 :(得分:1)
编译的目的是将HTML字符串或DOM编译成模板并返回模板函数,可以使用将范围和模板链接在一起。
见最后一行
编译($范围);
在这里,您将使用$ compile的功能模板绑定$ scope。