1.3之后无法在函数中获取范围对象

时间:2014-12-18 03:54:55

标签: angularjs angularjs-scope angularjs-ng-repeat

我有这段代码:

            $scope.getObject = function(object) {
                var rootobject = $scope[object];
                console.log(rootobject);
                return rootobject;
            };

它是$ scope变量的getter。

然后我有这个$ scope变量setter:

            $scope.setObject = function(object,value){
                console.log("saving " + value + " to " + object);
                $scope[object] = value;
            };

到目前为止好吗?

现在1.30之前我在ng-repeat中使用它来 orderBy

<div ng-repeat="content in sitedata.content | toArray | orderBy:getObject(block.tags) ng-include src="'block.html'"  ></div>

但是,自1.30及以后它不再有效。

控制台会正确记录项目,但orderBy永远不会更改。

我无法在补丁日志中看到任何指向这个......任何想法?

1 个答案:

答案 0 :(得分:0)

你应该转向原型模式并利用这个&amp; .bind()避免这些问题。我在Angular中做类似的事情,发现它更方便。我能提供最好的!

以下是prototypal controller的示例。