Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度范围对象问题_Angularjs_Scope - Fatal编程技术网

Angularjs 角度范围对象问题

Angularjs 角度范围对象问题,angularjs,scope,Angularjs,Scope,问题: 我创建了一个var对象,并在该var对象中引用 滑动范围对象。所以当我使用滑块时,它会更新 范围对象,但不在引用对象中更新。即 filterObject.filter.priceRange.min 所以对于changin var对象,我必须手动执行,然后它才能工作 你可以看到我的小提琴,这样你就会明白我想说什么,因为我不知道如何解释我的问题 例如: 看看我做了什么: // this object is for slider $scope.priceRangeSlider = {

问题:

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

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

例如:

看看我做了什么:

// 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,这是在应用程序加载时分配的

问题的原因是,
filterObject.filter.priceRange.min
将只计算一次,当控制器第一次运行时

一种修复方法是将其更改为函数:

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

小提琴:

更新:

你只需要把逻辑反过来

看一把新小提琴:


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

thanx用于回答,但我想自动更改值,以便我可以将此filterObject直接传递到服务器。是否可能?自动意味着如果PriceRangeSlaider更改了值,则filterObject必须更改相应的值。请参阅更新以获取新提案。
$scope.minvaluetest = filterObject.filter.priceRange.min();