即使在绑定范围变量更新后,UI元素(网格)也不会更新
我的用户界面绑定到一对连接到对象参数的范围变量。即使在绑定范围变量更新后,UI元素(网格)也不会更新
当我更新update()方法中的绑定变量时,我的UI网格没有得到更新。该变量具有所有必需的属性和值。
function update() {
$scope.summaryValuesStruct = service.summaryValuesStruct;
$scope.aggregateByValue = service.aggregation;
}
更新被调用后,我期待UI网格会得到更新,因为服务对象将新的值放入变量中。
虽然这是缺少很多信息,我的猜测是,这是因为你直接在$scope
上使用属性。我猜测它正在更新一个子范围而不是父级。
请尝试将数据作为对象存储在范围中。
function update() {
$scope.data.summaryValuesStruct = service.summaryValuesStruct;
$scope.data.aggregateByValue = service.aggregation;
}
有关更深入的说明,请参阅jimhoskins.com/2012/12/14/nested-scopes-in-angularjs.html。
可以请更新一点,为什么它会更新子范围,我们不应该直接在$ scope上使用属性 –
它涉及到Javascript如何处理原型继承对象(这是构建范围继承)。 http://jimhoskins.com/2012/12/14/nested-scopes-in-angularjs.html是比我在这里可以解释的更好的文章。 controllerAs语法也可以解决这个问题。 –
请提供html也 –
您确定这些值已更新您的服务?你有没有尝试输出(console.log)这些值和范围变量的值,当调用更新来验证函数被调用时的值是什么? –
更新函数如何被调用? – xersiee