我有一个离子选择框,用于更新范围变量.我还有一个范围函数,它是一个依赖于范围变量的函数(例如,它测试变量是否为特定值).该函数的结果似乎没有使用离子选择框更新,而它似乎在基本angularJs中更新.嵌入实际条件而不是函数似乎适用于离子.
离子实例:http://codepen.io/anon/pen/VeOXzb
控制器中的相关javascript:
$scope.testValue = 'value1';
$scope.variableFunction1 = function() {
return $scope.testValue === 'value2';
}
相关的html:
Does not change: {{variableFunction1()}}
同样的角度例子,它按照我的预期工作:http://jsfiddle.net/mm5vg0oa/
这是一个错误还是我误解了离子中的某些东西?
最佳答案
我的猜测是ion-content创建了一个新的子范围,这意味着当你在select中选择一个值时,会在离子内容范围(与控制器范围不同)上设置一个新的testValue变量.
原文链接:https://www.f2er.com/js/428977.html您有两种选择:
>将ng-controller设置在离子含量内的元素上.
>使用对象保存所选值,而不是字符串(请参见此处示例:http://codepen.io/anon/pen/WrBzBq).
这个页面很好地解释了这个问题:https://github.com/angular/angular.js/wiki/Understanding-Scopes