2015-12-19 143 views
1

问题:角范围对象问题

我创建了一个VAR对象和VAR对象内我指 到滑块范围对象。所以当我使用我的滑块时,它将更新 作用域对象,但不会在引用对象中更新。即 filterObject.filter.priceRange.min 所以起了变化VAR对象,我必须做手工,然后它会工作

你可以看到我的小提琴,所以你会明白我想说,因为我不知道如何解释我的问题。

Workinh例如: http://jsfiddle.net/kevalbhatt18/wk6xhy3k/4/

看到我做了什么:

// this object is for slider 
$scope.priceRangeSlider = { 
    minValue: 100, 
    maxValue: 10000, 
    options: { 
     floor: 100, 
     ceil: 10000, 
     step: 1, 
     translate: function(value) { 
      return 'Rs ' + value; 
     } 
    } 
}; 

//var object refere to scope object 
var filterObject = { 
    filter: { 
     priceRange: { 
      min: $scope.priceRangeSlider.minValue // refe not working 
     }, 
     yearRange: {}, 
     languageValue: [], 
     formatValue: [] 

    } 
}; 

如何DEBUG:

幻灯片 “价格滑块”,所以下面就可以本身量变到质变值在改变价格滑块的值后点击价格滑块下面的按钮,您将得到100分配的年份d在应用程序的负载下

回答

1

问题的原因在于filterObject.filter.priceRange.min只会在控制器第一次运行时评估一次。

一个解决方法是将其更改为一个功能:

var filterObject = { 
    filter: { 
     priceRange: { 
      min:function() { return $scope.priceRangeSlider.minValue; } 
     ... 

然后:

$scope.minvaluetest = filterObject.filter.priceRange.min(); 

小提琴:http://jsfiddle.net/masa671/9kjqeueo/

UPDATE:

你只需要打开逻辑另一种方式。

看到一个新的小提琴:http://jsfiddle.net/masa671/z5fkvh5b/

现在filterObject具有可发送到服务器的值。

+0

thanx for answer,但我想自动更改值,以便我可以将此filterObject直接传递给服务器是否有可能?自动表示如果priceRangeSlider更改该值,则filterObject必须在其中更改相应的值 –

+0

请参阅UPDATE以了解新建议。 – masa