我正在研究angularJS和node.js应用程序并且陷入了这个愚蠢的错误。我想要几个小时,但它仍然让我头疼。如果你们中有人有解决方案或建议,我将感谢你们。
前端
<md-input-container class="md-block" flex-gt-xs>
<label>Service Category</label>
<md-select ng-model="commissionScheme.category" ng-model-options="{trackBy: '$value._id'}">
<md-option ng-repeat="srv in service_categories" ng-value="srv">
{{srv.name}}
</md-option>
</md-select>
</md-input-container>
<md-input-container class="md-block" flex-gt-xs>
<label>Service</label>
<md-select ng-model="commissionScheme.service" ng-model-options="{trackBy: '$value._id'}">
<md-option ng-repeat="srv in services" ng-value="srv">
{{srv.name}}
</md-option>
</md-select>
</md-input-container>
控制器
$http.get("api/models/service_category").success(function(response, status, headers){
$scope.service_categories = response;
});
$scope.$watch("commissionScheme.category",function(newValue,oldValue){
var url = "api/models/service";
if(angular.isObject(newValue)){
url += "?category._id="+newValue._id;
}
$http.get(url).success(function(response, status, headers){
$scope.services = response;
});
});
我觉得$ watch被叫了两次但是...... 我没有在代码中找到我错的地方。
即使在网络检查中,您也可以通过服务看到两个电话?category._id = 49489492u4 ... 45
是否有任何指令,我可以用来摆脱这个错误? 谢谢大家的时间和精力。 :)