我正在使用Onsen UI,Monaca和AngularJS构建跨平台应用程序。
我有2个屏幕。第一个是用户必须输入调用API的Vehicle ID。根据输入的车辆ID,我想用此值填充API URL,并在下一个屏幕上显示基于车辆ID作为JSON对象返回的所有选项的列表。
例如,API调用如下所示: mymadeupdomain / api / vehicle.php?id = 109
109 将是用户输入的ID,用于确定详细车辆屏幕上显示的内容。
我对值进行了硬编码,我可以读回返回的JSON对象,但我似乎无法在用户输入时发送值。
vehicle-id.html 表单,用于从用户获取车辆ID
<form class="login-form" style="text-align: center" name="myForm">
<section style="padding: 8px">
<input type="text"
class="text-input--underbar"
required
minlength="3"
maxlength="10"
ng-model-options="{ debounce : 800 }"
placeholder="Vehicle ID / Fleet Number"
ng-model="fleetIDSearch" >
</section>
</form>
app.js 是处理表单检查的控制器
angular.module("myApp", ['onsen']).controller("vehicleController", function($scope, $http)
{
// Watch for changes on the vehicle ID screen
$scope.$watch('fleetIDSearch', function()
{
fetchFleetDetails();
});
$scope.fleetIDSearch = "";
function fetchFleetDetails()
{
$http.get("http://mymadeupdomain/api/vehicle.php?id=" + $scope.fleetIDSearch).success(function(data)
{
$scope.fleetIDs = data;
});
}
// Returns a list of all Vehivle Checks associated with Vehicle ID
$http.get("http://mymadeupdomain/api/getfleetchecks.php?fleetid=" + $scope.fleetIDSearch).success(function(data) // NOT WORKING HERE
{
$scope.checkItemDescriptions = data;
});
});
如何获取$ scope.fleetIDSearch =“”中输入的值;在第一个屏幕中,并将它们传递给第二个屏幕中的API URL?
我想显示与ID相关的所有支票的列表,如下所示 - 在API URL被硬编码时工作
vehicleCheck.html
<ul class="list">
<li class="list__item" ng-repeat="checkItemDescription in checkItemDescriptions">
{{checkItemDescription.checkitemdesc}}
<label class="switch switch--list-item">
<input type="checkbox"
class="switch__input"
checked >
<div class="switch__toggle"></div>
</label>
</li>
</ul>
答案 0 :(得分:1)
在您的情况下,您可以选择多个级别。
如果您只想在控制器之间共享数据,可以使用Factories
另一个解决方案是: