我的控制器出了问题。这是一个奇怪的问题,我要求你的直觉超过你的知识:
我的控制器:
function modificaProdottoCtrl($scope, prodottiService, ingredientiS) {
var vm = this;
vm.modificaProdottoAnnulla = modificaProdottoAnnulla;
vm.modificaProdottoStart = modificaProdottoStart;
vm.modificaProdottoConferma = modificaProdottoConferma;
vm.datiProdotti = prodottiService.datiService;
vm.prodottiTemp = prodottiService.datiService.prodotti;
vm.ingredienti = [];
vm.test = "ciao";
prodottiService.datiService.visualizzaDettaglio = false;
function modificaProdottoStart( prodotto ) {
prodotto.modifica = !prodotto.modifica;
vm.datiProdotti.prodotti = [];
vm.datiProdotti.prodotti.push (prodotto);
vm.ricetta = prodottiService.ricettaProdotto (prodotto).then (function (response) {
console.log ("RICETTA CARICATA");
vm.datiProdotti.visualizzaDettaglio = !vm.datiProdotti.visualizzaDettaglio;
});
//Ricavo l'elenco degli ingredienti
ingredientiS.query().then( function(response) {
alert (vm.ingredienti);
vm.ingredienti = response.data;
alert (vm.ingredienti);
console.log ("Ingredienti ricevuti");
return response
})
...
...
我的HTML:
...
<ul ng-controller = "modificaProdottoCtrl as mc">
<li class="testoNero"> <I>INGREDIENTI</I></li>
<li ng-repeat="i in mc.ingredienti"> {{i}}</li>
<li> </li>
<li> </li>
<li> <input type="text" ng-model='mc.test'/> {{mc.test}} </li>
</ul>
...
显然这些只是代码片段。我太复杂了,无法编写所有功能部分。 我的问题是:当我尝试更新varibile&#34; vm.ingredienti&#34;在函数&#34; modificaProdottoStart&#34;中,即使是alert函数,它也不会在视图中更新,我确保varibile&#34; vm.ingredienti&#34;已经改变。 我已经在这个小场景中模拟了Plunker,一切正常,而在我的应用程序中我曾经在这些情况下更新列表。 如果列表在&#34;服务&#34;上,那么我也可以定期查看更新。
抱歉我的英文不好