如何在$ compile中使用bindToController

时间:2017-05-03 19:20:04

标签: angularjs

我有以下简单的代码(在Coffeescript中)。

newScope = $rootScope.$new()
newScope.test = "test"
template = angular.element('<my-thing></my-thing>')
linkFn = $compile(template)
element = linkFn(newScope)
angular.element("#thingContainer").html('').append(element)

我的东西使用测试变量作为范围并具有bindToController ...

controller: MyThingController
controllerAs: 'mtc'
bindToController: true
$scope:  
  test: "="

我的控制器看起来像这样

class MyThingController
  constructor: ($scope) ->
    console.log($scope.test)
    console.log(this.test)

由于我有bindToController,我希望this.test能够正确解析,并且$ scope.test是未定义的,但是,它的工作正好相反。

所以我的问题是如何在使用$ compile时传递仍然绑定到控制器的$ scope?

1 个答案:

答案 0 :(得分:0)

它需要在$onInit而不是构造函数。