我正在尝试将一些数据放在我的指令创建的范围内。这是我的jsFiddle。
以下代码效果很好
.directive('directive1', function () {
return: {
scope: true,
controller: function ($scope) {
$scope.name = 'world';
}
}
})
<div directive1>
<p>{{ name }}</p>
</div>
但这些代码不起作用
.directive('directive2', function () {
return: {
scope: true,
controller: function () {
this.name = 'world';
},
controllerAs: 'testCtrl'
}
})
<div directive2>
<p>{{ testCtrl.name }}</p>
</div>
我的代码有什么问题吗?还是我误解了controllerAs
的某些内容?
答案 0 :(得分:16)
ControllerAs支持指令was added in 1.2.0,因此您必须使用最新版本,而不是来自链接小提琴的1.0.2
。 This way它的效果与你想要的一样。
答案 1 :(得分:-1)
请不要与指令控制器和普通控制器混淆!所以,是的,一个直升机可以有一个控制器,控制一些东西。但它不等同于普通控制器!
将指令逻辑放入指令控制器实际上没有问题,但指令控制器实际上用于交叉指令通信。一个指令的控制器实例可以注入到另一个指令中,该指令位于同一个元素(或子元素)上。
“controller as”表达式适用于普通控制器。所以,只需自己帮忙,把你的逻辑放入指令链接功能。