我只是覺得我這樣做很糟糕,而且我想知道是否有更好的方法? 這裏的指令: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