у меня есть это в моем клиенте/шаблоны/main.html:Доступ внешний скрипт в метеоритный блеске Template.events
<head>
<title>app boil</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<script src="https://cdnjs.cloudflare.com/ajax/libs/quickblox/2.4.0/quickblox.min.js"></script>
</head>
Так я называю quickblox апи. Это обеспечивает объект QB.
Я теперь клиент/шаблоны/quickblox/quickbloxcall.js, который имеет следующий код:
import { Template } from 'meteor/templating';
import './quickbloxcall.html'
Template.quickbloxcall.onRendered(function() {
console.log(QB.createSession);
});
Template.quickbloxcall.events({
'submit .quickblox-form'(event) {
var user = {
id: 4448514,
name: 'chatuserweb1',
login: 'chatuserweb1',
pass: 'chatuserweb1'
};
QB.createSession({login: user.login, password: user.pass}, function(err, res) {
if (res) {
QB.chat.connect({userId: user.id, password: user.pass}, function(err, roster) {
if (err) {
console.log(err);
} else {
/*
* (Object) roster - The user contact list
* roster = {
* '1126541': {subscription: 'both', ask: null}, // you and user with ID 1126541 subscribed to each other.
* '1126542': {subscription: 'none', ask: null}, // you don't have subscription but user maybe has
* '1126543': {subscription: 'none', ask: 'subscribe'}, // you haven't had subscription earlier but now you asked for it
* };
*/
}
});
}else{
console.log(err);
}
});
},
});
В коде выше, когда я отправить форму, я получаю эту ошибку в консоли:
Uncaught TypeError: Cannot read property 'createSession' of undefined(…)
Таким образом, это означает, что объект QB недоступен внутри Template.quickblox.events submit обработчик событий.
Однако в console.log() я получаю это:
function (params, callback) {
this.auth.createSession(params, callback);
}
Таким образом, это означает, что Template.quickbloxcall.onRendered правильно загрузки объекта QB.
Как получить доступ к этому внешнему скрипту в Template.quickblox.events?
Вы пробовали [$ .getScript] (https://api.jquery.com/jquery.getscript/)? –
Почему вы не используете версию Quickblox для NPM? возможно, это решит вашу проблему – Khang