Javascript 如何使用角度选择覆盖现有范围
我正在制作一个允许在我的ionic和angular应用程序中使用草稿的系统 有些值在打开页面时会自动设置,现在我尝试使用以下草稿数据覆盖它们Javascript 如何使用角度选择覆盖现有范围,javascript,angularjs,Javascript,Angularjs,我正在制作一个允许在我的ionic和angular应用程序中使用草稿的系统 有些值在打开页面时会自动设置,现在我尝试使用以下草稿数据覆盖它们 <select name="" ng-model="draft" ng-change="loadDraft(draft);"> <option ng-repeat="draft in drafts" value="{{draft.info}}">{{draft.info.Ordernumber}}</option>
<select name="" ng-model="draft" ng-change="loadDraft(draft);">
<option ng-repeat="draft in drafts" value="{{draft.info}}">{{draft.info.Ordernumber}}</option>
</select>
问题是,它只加载“新”值,不会覆盖页面加载时自动设置的订单号等内容
如何强制所有值更新为加载的数组信息
---编辑--
我刚刚发现,当手动设置初始范围时,它会很好地覆盖该值。问题可能在于我在页面加载时设置作用域的方式
这很好
vm.infoFactory.ArrayInfo.Ordernumber = "2017-33";
当添加这段代码时,它不会
if(vm.infoFactory.ArrayInfo.OrdernumberSet == true){
console.log("all set");
}
else{
console.log("New Date");
var date = new Date();
vm.infoFactory.ArrayInfo.currentYear = date.getFullYear();
var Ordervalue = firebase.database().ref("/savednumbers/" + vm.infoFactory.ArrayInfo.currentYear);
$scope.$watch("info", function(newValue, oldValue) {
Ordervalue.on("value", function(snapshot) {
var data = snapshot.val();
vm.infoFactory.ArrayInfo.Ordervalue = data.last_number;
vm.infoFactory.ArrayInfo.Ordervalue++;
vm.infoFactory.ArrayInfo.Ordernumber = vm.infoFactory.ArrayInfo.currentYear + "-" + vm.infoFactory.ArrayInfo.Ordervalue;
});
});
vm.infoFactory.ArrayInfo.OrdernumberSet = true;
}
也许应该为此提出一个新问题
---编辑--
该值在“draft”上没有问题,但在我的JSON.parse之后,它将接受新值如果您想在
ng change
函数中访问整个对象,则将整个对象分配给该值
<option ng-repeat="draft in drafts" value="{{draft}}">{{draft.info.Ordernumber}}</option>
{{draft.info.Ordernumber}
这是我将来需要的东西,但不能解决我的问题。问题到底是什么?我更新了问题,解析后值发生了更改。
<option ng-repeat="draft in drafts" value="{{draft}}">{{draft.info.Ordernumber}}</option>