2016-07-13 2 views
1

Я бы хотел использовать интерком в моем приложении с угловым 2.Angular 2 & Intercom.io

инструкции Интерком SPA являются here

Я поставил блок сценария в голове моей страницы index.html, моя следующая мысль поместить следующее в моем приложении компонента

ngOnInit() 
{ 
    window.Intercom("boot", { 
app_id: "abcd", 
name: "Jane Doe", // Full name 
email: "[email protected]", // Email address 
created_at: 1312182000 // Signup date as a Unix timestamp 
}); 

Однако, это не будет комментировать [ts]

Свойство «Домофон» не существует в типе «Окно».

Как это сделать, используя Angular2 и webpack и дальше?

ответ

0

Меня зовут Мартин. Я один из клиентов службы поддержки в Интерком. Нашел этот вопрос.

Эта ошибка выглядит так, как Intercom Library не загружается. Вы включили этот скрипт в другое место в свой код. Переключение {app_id} с вашими приложениями app_id? Это определенно называется?

(function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',intercomSettings);}else{var d=document;var i=function(){i.c(arguments)};i.q=[];i.c=function(args){i.q.push(args)};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true; 
    s.src='https://widget.intercom.io/widget/{app_id}'; 
    var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);}if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})() 

Если у вас есть и есть. Если вы все еще видите эту проблему. Лучше всего опуститься на Intercom и связаться с нашим посланником в правом нижнем углу. Или отправьте электронное письмо на [email protected], и мы с вами можем следить за вами!

+0

Hi Martin, этот вопрос является угловым, специфическим 2, это ошибка компиляции и на самом деле о том, как и ссылаться на этот скрипт в угловом 2. Я контактную поддержку внутренней связи, и у них нет никакой помощи или примеров, выходящих за пределы инструкций SPA, перечисленных в моем вопросе, чтобы ответить на ваш вопрос. Да, я использую свой appid, и я не могу вызвать функцию. –

2

Я нашел ответ на интеграцию интерком с угловыми 2

инструкции Обновление интерком для угловой 2 Вместо этого:

window.Intercom("boot", { 
    app_id: "abcd", 
    name: "Jane Doe", 
    email: "[email protected]", 
    created_at: 1312182000 
    }); 

Используйте это, чтобы сделать его работу:

(<any>window).Intercom("boot", { 
app_id: "abcd", 
name: "Jane Doe", 
email: "[email protected]", 
created_at: 1312182000 
}); 
+0

Спасибо Маркусу, спасли мой день! Вы также запускаете окно () .Intercom («обновление»); на ngOnInit() выходного компонента evey router? – cyberabis

0

Вы можете объявить окно как: declare let window:any;

, а затем просто используйте окно. Интерком обычно: window.Intercom('update');

0

Я рад сообщить вам, что для этого есть модуль NPM! Он доступен здесь. https://www.npmjs.com/package/ng-intercom

В последней версии также есть больше методов и директив Интерком, чтобы сделать вашу жизнь проще! Docs здесь: https://github.com/CaliStyle/angular2-intercom/tree/1.0.0-alpha

Читать Среднюю пост: https://medium.com/@wilsonhobbs/integrating-intercomjs-with-your-angular-app-with-ngintercom-da38b8bcd415