作为数组传递时,必需的$ watchCollection参数返回错误

Nevin Madhukar K.

正在通过小查询了解一段代码。

我的印象是$ watchCollection将根据此语法作为参数传递时监视array

$ watchCollection(obj,监听器);

但是我的查询在这段代码中:

  var exp = $parse(attrs.chartData);
  var salesDataToPlot=exp(scope);

然后用于:

scope.$watchCollection(exp, function(newVal, oldVal){
               salesDataToPlot=newVal;
               redrawLineChart();
           });

“ exp”是类型函数,当我尝试将其作为数组传递时,出现“无法读取属性'length'of undefined”错误。我尝试以下代码时遇到了该错误:

  var salesData = scope[iAttrs.chartData];

.
.
.
.

  scope.$watchCollection(salesData, function(newVal, oldVal){
                   salesDataToPlot=newVal;
                   redrawLineChart();
               });

为什么我不能将salesData作为数组传递给$ watchCollection?

这是我的笔

或Drori

$ parse服务接受一个表达式,并将其转换为一个函数,当给定上下文(通常是作用域)时,它将解析为实际数据。

  var exp = $parse(attrs.chartData); // exp is an expression function that needs context
  var salesDataToPlot=exp(scope); is the actual result of supplying exp with context - the scope. The result is the array you need

只需看salesDataToPlot(pen):

scope.salesDataToPlot = salesDataToPlot;

scope.$watchCollection('salesDataToPlot', function(newVal, oldVal){
               salesDataToPlot=newVal;
               redrawLineChart();
           });

直接使用salesData会引发错误,因为salesData是作用域的属性,而不是此闭包中可用的变量。要使$ watchCollection在范围内寻找此属性,您必须使用“ salesData”(pen)。

  scope.$watchCollection("salesData", function(newVal, oldVal){
                   salesDataToPlot=newVal;
                   redrawLineChart();
               });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

作为参数传递时的数组更改

在bash中将数组作为函数参数传递时出错

如何在将数组作为参数传递并让函数返回值时在 bash 中调用函数?

错误:在 C 中将数组作为参数传递时,“]”标记之前的预期表达式

将数组作为参数传递

将数组作为参数传递

将参数作为数组传递

将数组作为参数传递

检索会话值并作为api Ajax的必需参数传递

错误“数组:参数'值'是必需的”

在Java中将数组作为参数传递时创建一个数组

将数组作为函数的参数传递时,c ++获得不同的数组长度

为什么将数组的大小作为参数传递给函数时,数组的大小为何不同

基于作为参数传递的数组元素的函数返回类型

传递一个返回数组作为参数的函数

作为参数传递时,JavaScript isNaN返回未定义

传递整数数组作为参数导致的C ++错误

Swift将数组作为参数错误传递

将内部函数作为参数传递时出现分段错误

在传递Collections.emptyMap作为参数时遇到错误

Python:将方法作为函数参数传递时的属性错误

只是尝试传递“用户”时缺少必需的参数

当我将由findViewById()返回的View对象作为参数传递给LinearLayout类的addView()时,为什么会发生错误?

传递函数char参数返回错误

烧瓶路径传递但参数返回错误

将数组作为参数传递时,泛型方法存在问题

当数组作为参数通过函数传递时,它们是否为零索引?C编程

将数组作为矢量化函数的参数传递时出现意外输出

在将3D数组作为参数C传递时丢失了一些值