【发布时间】:2014-12-17 14:38:32
【问题描述】:
我有一个 Laravel 应用程序,我想通过向导添加用户和学校。我用 AngularJS 做了一个非常简单的向导。
$scope.addSchool = {
items : [ 1, 2, 3 ],
current : 1,
progress : 0
}
$scope.addSchoolNext = function(next)
{
$scope.addSchool.current = next;
$scope.addSchool.progress = (100 / $scope.addSchool.items.length) * ($scope.addSchool.current - 1);
}
$scope.addSchoolPrevious = function(previous)
{
$scope.addSchool.current = previous;
$scope.addSchool.progress = (100 / $scope.addSchool.items.length) * ($scope.addSchool.current - 1);
}
我的视图中有 ng-switch:
<div class="create-school-wizard" ng-switch on="addSchool.current">
<section class="create-school-wizard-1" ng-switch-when="1">
Add data
<button class="btn btn-default" ng-click="addSchoolNext(2)">Next</button>
</section>
<section class="create-school-wizard-2" ng-switch-when="2">
Add data
<button class="btn btn-default" ng-click="addSchoolPrevious(1)">Previous</button>
<button class="btn btn-default" ng-click="addSchoolNext(2)">Next</button>
</section>
<section class="create-school-wizard-3" ng-switch-when="3">
Add data
<button class="btn btn-default" ng-click="addSchoolPrevious(2)">Previous</button>
<button class="btn btn-default">Save</button>
</section>
</div>
效果很好!我只有一个问题。当我转到下一页然后返回时,输入字段为空。实际上,我不想将我的输入数据保存在 AngularJS 模型中,因为 Laravel 负责发布和保存数据。
我也试过ng-show,但是当我点击next时,ng-show会提交整个表单。
【问题讨论】:
-
您的输入数据不会在 Angular 模型中“保存”,它会在页面加载时加载到其中。唯一的另一种方法是在输入上使用 value={{myValue}} 。顺便说一句,您没有在 HTML 中显示任何输入
标签: javascript angularjs ng-switch