角度范围对象问题

时间:2015-12-19 06:25:50

标签: angularjs scope

  

问题:

     

我创建了一个 var 对象,并且在我引用的var对象中   滑块范围对象。所以当我使用我的滑块时它会更新   范围对象但不在参考对象中更新。即   的 filterObject.filter.priceRange.min   所以对于changin var对象,我必须手动完成它然后才能工作

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

工作示例: 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: []

    }
};

你如何调试:

幻灯片“价格滑块”,这样您就可以在更改价格滑块价值后更改价格滑块下方的价值点击价格滑块下方的按钮,您将获得100,这是在应用程序的onload上分配的< / p>

1 个答案:

答案 0 :(得分:1)

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

一个解决方法是将其更改为函数:

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

然后:

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

小提琴:click here for image my output like this but not visible tabs

更新:

你只需要反过来转动逻辑。

查看新的小提琴:http://jsfiddle.net/masa671/9kjqeueo/

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