更新模型值并从ng-repeat中的按钮更新DOM
Update a model value and update DOM from button in ng-repeat
我有一个按钮,每个网站的状态显示每个网站在服务器上的状态(停止或启动)。
按钮基本上被视为切换器,所以我可以为模型的每个元素更新状态变量的值。
<tr ng-repeat="website in model">
<td>{{website.Name}}</td>
<!-- website state can have either value **stopped** or **started** -->
<td>
<i class="fa fa-toggle-on active"ng-if="website.State == 'Started'" ng-model="website" ng-click="changeStatus(website)">
</i>
<i class="fa fa-toggle-on fa-rotate-180 inactive" ng-if="website.State == 'Stopped'" ng-model="website" ng-click="changeStatus(website)">
</i>
</tr>
controller:
$scope.changeStatus = function (x) {
alert(x.Name);
//$scope[x].State == 'Stopped'
//if ($scope.State== 'Started')
// $scope.State = "Stopped";
//else
// $scope.State = "Started";
}
要求:
我需要更新值,如果它是停止的,而不是改变它开始,反之亦然。
到目前为止我找不到任何解决办法。alert语句运行良好。但是我需要更新模型,模型应该绑定到html中的元素。因此,当我将按钮从"开始"更改为"停止"时,模型值也应该改变,因此按钮应该基于ng-if
- ng-model for
<i>
将不工作 - 在您的示例中打开但未关闭
<td>
元素 传递给 - 参数是一个对象。所以它是通过引用传递的。
changeStatus
函数的angular.module('models', []).controller('websites',
function($scope) {
$scope.websites = [{
Name: 'foo',
State: 'Started'
}, {
Name: 'bar',
State: 'Stoped'
}];
$scope.changeState = (website) => {
if (website.State == 'Started') {
website.State = 'Stoped';
} else {
website.State = 'Started';
}
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="models" ng-controller="websites">
<div ng-repeat="website in websites">
<h1>{{ website.Name }}</h1>
<button ng-click="changeState(website)">
{{ website.State }}
</button>
<button ng-if="website.State == 'Stoped'" ng-click="changeState(website)">
Stoped
</button>
<button ng-if="website.State == 'Started'" ng-click="changeState(website)">
Started
</button>
</div>
</div>
相关文章:
- 选择单选按钮时显示更新按钮
- 如何更新按钮内部的文本,每行重复一次
- 如何在jQuery的.on()方法中动态更新按钮的ID选择器
- 当我点击更新按钮时,它赢得了't更改/更新(CodeIgniter,更新多行)
- 单击“更新”按钮后,请求不以“放置”形式进行,而是以“POST”形式发送
- 带有更新按钮.js D3 将新数据添加到旧数据而不是替换旧数据
- 如何在 Meteor 中使用多个输入字段和单个更新按钮更新文档
- 更新按钮文本和其他问题
- JavaScript OnClient点击破坏RadGrid插入/更新按钮在web表单上提交行为
- 表单提交/更新按钮
- 使用ajax和data-*属性更新按钮
- jQuery -数据库访问失败后的更新按钮图标
- 使用JavaScript更新按钮上的文本
- 通过inputfield更新按钮文本
- ExtJS -更新按钮时,编辑一行调用函数
- 更新按钮id
- Ajax:将复选框功能转换为Wordpress中的输入字段和更新按钮
- Jquery克隆和更新按钮图标
- 为所有值创建一个更新按钮
- 一个基于抽动流状态更新按钮颜色的函数