我只是觉得我这样做很糟糕,而且我想知道是否有更好的方法? 这里的指令:AngularJS指令控制器解析插值属性?
<myDirective myAttribute="{{val}}"></myDirective>
这里的指令的控制器:
.controller('myDirective', ['$scope', '$attrs', function ($scope, $attrs) {
$attrs.$observe('my-attribute', function (x) {
$scope.myAttribute = x; // yay we finally have the interpolated value...
});
这吮吸一些原因,我不想进入。有没有办法确保在调用控制器之前解决内插值?
理想情况下,当调用控制器初始化程序时,$ scope.myAttribute将具有内插值。
编辑:我的主要目标是摆脱这个控制器具有$ attrs的依赖。
除了一些奇怪的原因,链接函数中的$ observe返回x = {{val}}而不是内插的val。任何帮助? – JayPrime2012
似乎attrs与$ attrs不一样。 – JayPrime2012
我读的源代码和attrs是相同的$ attrs。我不知道为什么移动attrs。$ observe()调用链接函数会导致插值失败,x的值始终是{{val}},而不是val的插值值。 – JayPrime2012