从$ scope。$ on((,, function(){});中检索值。

时间:2019-04-02 19:38:12

标签: javascript angularjs

我发出了富文本编辑器框的宽度和高度值,并使用$ scope。$ on函数在单独的文件中检索了相同的值。我的问题是我如何在函数之外但在同一文件中访问这些值。

我尝试在函数名称前使用“ var”关键字,但仍然出现未定义变量错误。

//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 :(得分:0)

您缺少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;
});

答案 1 :(得分:-1)

就像这样,通过在回调函数范围之外声明变量并在回调内部分配值。您试图访问不在范围内的变量。在尝试从文件外部访问它们之前,请确保检查它们是否未定义。

SELECT myColumn1, myColumn2 
FROM MyTable
WHERE to_char(myColumn_DATE, 'YYYY/MM') = '2018/12'