【发布时间】:2014-09-19 23:22:57
【问题描述】:
我有一个名为 Case 的类,其中包含一个执行步骤列表。每个 executionStep 都有一个名为 enabled 的布尔属性。我试图在 HTML 端设置,但它永远不会在 JS 端更新。 HTML端
<td>
<input type="checkbox"
ng-checked="acase.executionSteps[0].enabled"
ng-model="aa" ng-change="updateCaseExecutionStep('{{study.id}}','{{acase.id}}','{{acase.executionSteps[0].id}}','{{acase.executionSteps[0]}}')"/>
</td>`
在控制器端我有这个功能 更新案例执行步骤 定义如下图
$scope.updateCaseExecutionStep = function(studyId,caseId,executionStepId,executionStep){
...
...
}
问题是当我更新我的复选框甚至手动更新执行步骤的启用属性时
$scope.updateCaseExecutionStep = function(studyId,caseId,executionStepId,executionStep){
executionStep.enabled = true;
...
}
我没有看到任何变化。 JS 中传入的 executionStep 的 enabled 属性没有变化。请帮忙。
我是否必须在 HTML 端进行某种修改?
【问题讨论】:
-
你能提供一个小提琴或一个plunker
-
我认为您不需要所有这些双括号,这样可以正常工作:
ng-change="updateCaseExecutionStep(study.id,acase.id,acase.executionSteps[0].id,acase.executionSteps[0])" -
这似乎行得通,你如何将真/假值从 HTML 传递给 JS。有没有办法在函数调用中传递真值/值。例如在我的 updateCaseExecutionStep() 中,我如何传递是否已单击(true)或未单击(false)的状态