离子选择不会更新依赖于作用域变量的功能
ionic select does not update function dependent on scope variable
我有一个离子选择框,可以更新范围变量。我还有一个作用域函数,它是一个依赖于该作用域变量的函数(例如,它测试变量是否为特定值)。该函数的结果似乎没有随着离子选择框而更新,而它似乎确实在基本的 angularJs 中更新。嵌入实际条件而不是函数似乎适用于ionic。
离子示例:http://codepen.io/anon/pen/VeOXzb
控制器中的相关JavaScript:
$scope.testValue = 'value1';
$scope.variableFunction1 = function() {
return $scope.testValue === 'value2';
}
相关网页:
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>
同样的角度示例,它按我预期工作:http://jsfiddle.net/mm5vg0oa/
这是一个错误还是我误解了ionic中的某些内容?
我的猜测是ion-content
创建一个新的子作用域,这意味着当您在选择中选择值时,会在ion-content
作用域(与控制器作用域不同)上设置一个新的 testValue 变量。
您有两种选择:
- 在
ion-content
内的元素上设置ng-controller
。 - 使用对象而不是字符串来保存所选值(请参阅此处的示例:http://codepen.io/anon/pen/WrBzBq)。
这个页面很好地解释了这个问题: https://github.com/angular/angular.js/wiki/Understanding-Scopes
相关文章:
- 当我更新另一个作用域变量时,作用域变量会自动更新
- 如何在隔离作用域指令中访问此作用域变量
- 正在向构造函数添加作用域变量
- 如何在angularjs中将多个作用域变量传递到自定义指令中
- 作用域变量未从状态父控制器继承到子控制器
- 插槽:访问作用域变量
- 在另一个作用域变量中使用AngularJS作用域变量
- 在Angular.js中通过检查作用域变量进行过滤
- 如何更新作为属性传入的作用域变量
- Node.js中的垃圾收集作用域-变量将保持设置状态多长时间
- 从$http.get调用更新Angular作用域变量
- AngularJS ui路由器:访问子作用域变量
- 访问AngularJS中函数中的作用域变量
- 为什么Angular 1.5双向绑定在将作用域变量传递给组件绑定时失败
- 修改作用域变量后,未更新作用域绑定
- 控制器作用域变量在刷新之前未加载
- 将Angular作用域变量的字符串描述传递给指令
- 将内部作用域变量绑定到外部“模板”
- 无法在 $.post 回调中设置作用域变量
- 如何从在 JS 中用作参数的匿名函数中分配外部作用域变量