Получение значений из $ scope. $ On ((, function () {}); - PullRequest
0 голосов
/ 02 апреля 2019

Я сгенерировал значения ширины и высоты окна текстового редактора и извлек эти те же значения в отдельный файл, используя функцию $ scope. $ On.У меня вопрос: как мне получить доступ к этим значениям вне функции, но в том же файле?,

//emit values    
var onResizeComplete = function() {
  scope.$broadcast('wesRichTextEditorResizeComplete', {
      width: scope.width,
      height: scope.height 
  });
  scope.$emit('wesRichTextEditorResizeComplete', { 
      width: scope.width, 
      height: scope.height
  });   
};

//retrieve values
$rootScope.$on('wesRichTextEditorResizeComplete', function(event, data){
  RTEboxWidth = data.width;
  var  RTEboxHeight = data.height;
});

ни console.log(RTEboxWidth);, ни console.log(RTEboxHeight); не работает

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

Точно так же, объявив переменную вне области функции обратного вызова и присвоив значение внутри обратного вызова. Вы пытались получить доступ к переменным, которых нет в области видимости. Прежде чем пытаться получить к ним доступ изнутри файла, прежде чем проверять, не определены ли они.

var rteBoxWidth, rteBoxHeight;

$rootScope.$on('wesRichTextEditorResizeComplete', function(event, data){
    rteBoxWidth = data.width;
    rteBoxHeight = data.height;
    console.log("Width: ", rteBoxWidth);
    console.log("Height: ", rteBoxHeight);
});
0 голосов
/ 02 апреля 2019

У вас отсутствует оператор var:

var onResizeComplete = function() {
scope.$broadcast('wesRichTextEditorResizeComplete', { width: 
scope.width, height: scope.height });
scope.$emit('wesRichTextEditorResizeComplete', { width: scope.width, 
height: scope.height });   
};

//retrieve values
$rootScope.$on('wesRichTextEditorResizeComplete', function(event, data){
var RTEboxWidth = data.width; // <------- missing var
var  RTEboxHeight = data.height;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...