mendler
@mendler
Senior Web Developer

Как динамически обновлять плагин VK.Widgets.Comments при переходе по страницам в AngularJS?

Есть шаблон поста на AngularJS, в нем объявлена директива
<vk-comments></vk-comments>,

Сама директива:
app.directive( 'vkComments', [
		'$window',
		function( $window ){
			return {
				restrict: 'E',
				scope: {
					readyToBind: '@'
				},
				template: '<div id="vk_comments"></div>',
				link: function( $scope, $element ){
					$scope.$watch( 'readyToBind', function( value ){
						$element.html( $scope.template );

						$window.vkComment = VK.Widgets.Comments( 'vk_comments', { limit: 10, attach: '*' } );
					} )
				}
			}
		}
	] );


При переходе из одного поста в другой показываются комментарии предыдущего поста. Как сделать обновление области плагина при заходе на страницу?
  • Вопрос задан
  • 432 просмотра
Решения вопроса 1
mendler
@mendler Автор вопроса
Senior Web Developer
Как вариант решения, если кому будет интересно:
app..directive( 'vkComments', [
		'$window',
		'$timeout',
		function( $window, $timeout ){
			return {
				restrict: 'E',
				template: '<div id="vk_comments" ng-transclude post-url="{{url}}"></div>',
				scope: {
					readyToBind: '@'
				},
				replace: !0,
				transclude: !0,
				link: function( $scope, $element, $attr ){
					$scope.$watch( 'readyToBind', function(){
						$timeout( function(){
							$window.vkComment = VK.Widgets.Comments( 'vk_comments', { limit: 10, attach: '*', autoPublish: 1, mini: 1 }, MD5( $attr.postUrl ) );
						}, 100 );
					} );
				}
			}
		}
	] );
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@zolotykh
web-разработчик
Используйте в качества идентификатора страницы не адрес, а ID для конкретной страницы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы