我有一个名为'bool'的值为100的绑定数据变量。当我单击复选框时,我希望通过将值增加50来增加值。我究竟做错了什么?角度,用复选框更改模型值
<div ng-app="app">
<h3 ng-model="bool = 100">BOOL</h3>
<input type="checkbox" ng-model="add = 50"/>
<div>{{bool + add}}</div>
</div>
任何帮助将不胜感激,
谢谢:)
我有一个名为'bool'的值为100的绑定数据变量。当我单击复选框时,我希望通过将值增加50来增加值。我究竟做错了什么?角度,用复选框更改模型值
<div ng-app="app">
<h3 ng-model="bool = 100">BOOL</h3>
<input type="checkbox" ng-model="add = 50"/>
<div>{{bool + add}}</div>
</div>
任何帮助将不胜感激,
谢谢:)
ng-model
不能是表达式。如果您需要指定默认值,则应使用ng-init
。
另外,复选框的值为true(1)或false(0)。因此,尽管{{bool + add}}
最初将显示150
,但只要您选中或取消选中该复选框,它将显示100
或101
,因为现在add
取决于检查的状态为0或1。
angular.module('app', []);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
<div ng-app="app">
<h3 ng-model="bool" ng-init="bool = 100; additional = 0">BOOL</h3>
<input type="checkbox" ng-model="add" ng-change="additional = add * 50"/>
<div>{{bool + additional}}</div>
</div>
嗨@Lex,是的,我试过了。它的作用是将值初始化为150,然后在复选框中单击将其设置为101(真实值为1)并在100和101之间切换开关。 –
我需要的是初始值为100,并且在复选框单击,价值切换到150 –
我不知道你为什么要在HTML中做到这一点,但我已经更新了我的答案,以显示一种可能的方法。正如ishmaelMakitla所建议的那样,这种逻辑真的属于控制器。 – Lex
难道你有这个程序控制器?你能告诉我们你的Javascript代码 - 你的控制器吗? – ishmaelMakitla
我有一个空的控制器,我想知道这是否可能纯粹通过指令计算,不需要数据去任何地方 –
我建议你尝试使用控制器。 – ishmaelMakitla