2014-03-26 27 views
1

我試圖將變量傳遞給指令,但我一直遇到問題,即使在重新排序後也會不斷返回'undefined'值。看起來好像Angular不喜歡在屬性名稱中使用「start」這個詞。在指令中使用包含'start'的屬性不起作用

有沒有人遇到過這個?

注:在下面的例子中,我創建需要4個值滑塊通過

slider.html

<div ab-range-slider slider-start="10000" slider-step="1000" slider-min="10000" slider-max="100000" > 
    <div class="slider"></div> 
</div> 

slider.js

exports 
    .directive('abRangeSlider', function() { 

     return { 
      restrict: 'A', 
      scope: { 
       sliderStart: '@', 
       sliderStep: '@', 
       sliderMin: '@', 
       sliderMax: '@' 
      }, 
      controller: function($scope, $element) { 

       console.log($scope.sliderStart); // returns undefined 
       console.log($scope.sliderStep); // returns 1000 
       console.log($scope.sliderMin); // returns 1000 
       console.log($scope.sliderMax); // returns 100000 

       // rest of code here 

      } 
     }; 
    }); 

注意事項:

  1. 即使我更改變量順序,也會發生同樣的情況。
  2. 如果我將變量名稱更改爲'slider-strt',它將起作用。
+2

見http://stackoverflow.com/questions/21242444/angularjs-directive-cannot-get-attributes-ending -with-start – miqid

+0

太棒了,在初始搜索時找不到任何東西,但是這解釋了一切。謝了哥們 :) –

回答

0

如由@miqid答案如上所述,這是由設計引入1.2