Javascript 离子选择不更新依赖于范围变量的函数
我有一个更新范围变量的离子选择框。我还有一个作用域函数,它是一个依赖于该作用域变量的函数(例如,它测试变量是否为特定值)。函数的结果似乎并没有用爱奥尼亚选择框更新,而似乎是用基本angularJs更新的。嵌入实际条件而不是函数似乎对ionic有效 例如: 控制器中的相关javascript:Javascript 离子选择不更新依赖于范围变量的函数,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我有一个更新范围变量的离子选择框。我还有一个作用域函数,它是一个依赖于该作用域变量的函数(例如,它测试变量是否为特定值)。函数的结果似乎并没有用爱奥尼亚选择框更新,而似乎是用基本angularJs更新的。嵌入实际条件而不是函数似乎对ionic有效 例如: 控制器中的相关javascript: $scope.testValue = 'value1'; $scope.variableFunction1 = function() { return $scope.testValue === 'va
$scope.testValue = 'value1';
$scope.variableFunction1 = function() {
return $scope.testValue === 'value2';
}
相关html:
Does not change: {{variableFunction1()}}<br/>
Does change: {{testValue === 'value2'}}<br/>
<div class="item item-input item-select">
<div class="input-label">
testValue
</div>
<select ng-model="testValue">
<option value="value1">Val1</option>
<option value="value2">Val2</option>
<option value="value3">Val3</option>
</select>
</div>
不变:{{variableFunction1()}}
更改:{{testValue=='value2'}}
测试值
瓦尔1
瓦尔2
Val3
同样的角度示例,其工作原理与我预期的相同:
这是一个bug还是我误解了ionic中的某些内容?我的猜测是,
离子内容
创建了一个新的子范围,这意味着当您在select中选择一个值时,会在离子内容
范围(与控制器范围不同)上设置一个新的testValue变量
您有两个选择:
离子内容
内的元素上设置ng控制器
这个页面很好地解释了这个问题:好的,我将使用您的第二个选项作为解决方案。但我不确定我是否完全理解你的解释。如果ion内容在它自己的作用域中更改testValue,那么作用域变量不会永远更改值吗?例如,在这个提琴中:它不会在控制器作用域中保持“value1”吗?好的,不管怎样,您的解释似乎100%正确。添加我添加的{testValue}}当然会在ion内容范围内打印变量。在本例中,我打印标题中的值,它将打印控制器的值,而不是内容。谢谢你的帮助!