0

我遇到了对象初始化的问题,无论代码是在控制器中还是在指令链接函数中。在下面的示例代码中,“this”参数在

prop: new Object(this)   

当代码在控制器中运行时是合法的 Object 构造函数,但在指令中运行时未定义。为什么相同代码的执行不同?

myapp.directive("myDir",function()
{
  var myDir = {
    link: function(scope,element,attrs)
    {
      var obj;

      obj = new Object({
        prop: new Object(this)
      });
    }
  }

  return myDir;
}


myapp.controller("MyCtrl",function($scope)
{
  var obj;

  obj = new Object({
    prop: new Object(this)
  });
}
4

1 回答 1

0

我认为您在声明中使用“this”是问题所在。阅读“this”关键字如何工作?以确保您了解它的工作原理。

在我看来,“this”可能会被设置为指令中的“myDir”变量,以及控制器中的 window 对象。

于 2013-06-14T18:28:35.603 回答