2017-06-14 79 views
1

我正在製作允許我的離子和角度應用程序中的草稿的系統。如何使用角度選擇覆蓋現有示波器

打開頁面時會自動設置一些值,現在我嘗試使用這樣的草稿數據覆蓋它們。

<select name="" ng-model="draft" ng-change="loadDraft(draft);"> 
    <option ng-repeat="draft in drafts" value="{{draft.info}}">{{draft.info.Ordernumber}}</option> 
</select> 

我的控制器代碼:

$scope.loadDraft = function(draft) { 
     if(draft){ 
      var parsed = JSON.parse(draft); 
      vm.infoFactory.ArrayInfo = parsed; 
      $scope.info = parsed; 
     }else { 
      console.log("oops"); 
     } 
    } 

問題是,它只是加載了「新」的價值觀,並不會覆蓋之類的東西都在頁面加載時自動設置順序號。

我如何強制所有值更新到加載的數組信息。

---編輯--- 我剛剛發現,當手動設置初始範圍時,它會覆蓋該值就好了。問題可能是我在設置示波器的方式頁面加載

這確實覆蓋罰款。

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; 
    }    

或許應該打開這個新的問題?

---編輯--- 值是對「草案」還可以,但我JSON.parse它需要新的數據後

如果要訪問整個對象 ng-change功能然後分配整個

回答

1

反對價值

<option ng-repeat="draft in drafts" value="{{draft}}">{{draft.info.Ordernumber}}</option> 
+0

這是我未來需要的東西,但不能解決我的問題。 –

+0

究竟是什麼問題 –

+0

我更新了問題,解析後我的值發生了變化。 –