我的角度应用程序中有一个简单的选择控件。当页面加载时,我没有在选择控件中选择任何元素,但如果我检查 $ scope.data.Method 我在int中得到了正确的值。有没有办法解决这个问题?
<div class="form-group">
<label class="col-sm-3 control-label">Selected Method:</label>
<div class="col-sm-4">
<select class="form-control" ng-model="data.Method">
<option value="0">Auction</option>
<option value="1">Delivery</option>
<option value="2">Range Delivery</option>
<option value="3">Broadcast</option>
<option value="4">Self broadcast</option>
<option value="5">Manual</option>
<option value="6">Automated</option>
</select>
</div>
</div>
Controlers使用服务来获取数据。这是获取数据的服务代码
//Initialize Resource
this.initResource = function (params) {
params = params || {};
params.id = '@id';
this.resource = $resource('{0}/:id'.format(this.api), params, {
'update': { method: 'POST' },
'create': { method: 'PUT' },
'default': { method: 'GET', params: { id: 'default' } }
});
}
//...more code
//Get some data and initialize additional parameters
this.read = function (id, clone, readonly, version) {
if (clone == undefined)
clone = false;
if (readonly == undefined)
readonly = false;
if (this.resource == null) {
this.initResourceByDefault();
}
return this.resource.get({ id: id, clone: clone, readonly: readonly, version: version });
}
控制器代码
function ItemController($scope, $route, $routeParams, $location, $resource, MainCRUDService, ControllerHelper) {
$scope.noticeType = $routeParams.noticeType;
MainCRUDService.initResource({ noticeType: $scope.noticeType });
//Here I am getting data from resourse via service
ControllerHelper.initCRUD($scope, MainCRUDService);
}
答案 0 :(得分:2)
由于我能理解您的问题,因此您的服务将data.Method
作为整数值返回。
但是选择框将匹配字符串值。
如果您的服务将data.Method
作为字符串返回,您的问题就会得到解决。您也可以使用data.Method
方法将响应参数toString()
转换为字符串值。
这是一个可以帮助您的plunker代码。 https://plnkr.co/edit/s0Wrk4?p=preview