Ionic Framework: $ scope non è definito nell’avviso semplice

.controller('newGoalCtrl', function($scope, $ionicPopup) { $scope.addNewGoal = function() { alert($scope.goaltitle); }; });   

Add New Goal

Questo è il mio codice … Non so come spiegarlo ma dice sempre indefinito quando inserisco qualcosa nella casella di testo …

ma $ scope.goaltitle = “qualcosa” sta lavorando su .controller (); …

Risposta breve

La causa principale di questo problema è che il ion-content crea un ambito figlio prototipicamente ereditato, ecco perché goaltitle (tipo primitivo) dello scope del controller è diverso da quello goaltitle si sta usando su ng-model

L’ideale è di seguire la dot rule durante la definizione del modello di vista. In modo che la regola dell’ereditarietà prototipale venga seguita con la gerarchia dell’ambito.

È necessario definire l’object e quindi assegnare a tutti la proprietà ng-model al suo interno.

controllore

 .controller('newGoalCtrl', function($scope, $ionicPopup) { $scope.model = {}; $scope.addNewGoal = function() { alert($scope.model.goaltitle); }; }); 

Quindi avere proprietà goalTitle , Goal , ecc.

markup

  

Non voglio riscrivere tutta la spiegazione di nuovo, quindi qui mi riferisco a una risposta simile , in cui ho coperto tutte le informazioni dettagliate.

Per l’html

  

JS:

 $scope.foo = {{ goaltitle : '' }}