我对这段代码有一个奇怪的行为
.controller('ContestantCreateCtrl',function($scope,CONFIG) {
$scope.shareurl = 'https:'+CONFIG.site.absoluteUrl+'/';
})
.directive('btFbParse', function () {
return {
restrict:'A',
link:function (scope, element, attrs) {
console.log(scope.shareurl);//it works
if(scope.facebookIsReady){
FB.XFBML.parse();
}
}
};
})
如果在视图中我设置
<div class="fb-like" data-href="https://my-dev.me/public/" data-width="120" data-colorscheme="light" data-layout="standard" data-action="like" data-show-faces="true" data-send="false"></div>
<div bt-fb-parse></div>
有用
但如果在视图中我设置
<div class="fb-like" data-href="{{shareurl}}" data-width="120" data-colorscheme="light" data-layout="standard" data-action="like" data-show-faces="true" data-send="false"></div>
<div bt-fb-parse></div>
我从 facebook api "/plugins/error/api?code=100&message=The+href+URL+must+be+absolute&hash=AQDVWDuDsG3_aVQh
我也试过
scope.$apply()
在指令中,fb 喜欢工作,但角度显示错误:$digest 已经在进行中
不知道该往哪个方向转......
更新
和
_.defer(function(){
scope.$apply();
FB.XFBML.parse();
});
有用 :)