私はこのコードで奇妙な振る舞いをしています
.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 のように動作しますが、Angular でエラーが表示されます: $digest は既に進行中です
どっちを向いたらいいのかわからない……。
アップデート
と
_.defer(function(){
scope.$apply();
FB.XFBML.parse();
});
できます :)