Ich habe versucht, den Controller als Syntax zum ersten Mal zu implementieren, und ich habe ein Problem, wo meine Funktion nicht ändert die Controller-Variable, die ich aus der Vorlage übergeben. Stattdessen versteht es den Parameter als eine lokale Variable. Dies würde nicht passieren, wenn ich $ scope verwende.Controller als Syntax ändert nicht Controller-Variablenwert
Hier ist mein Controller.
angular
.module('app')
.controller('baseCtrl', baseCtrl);
function baseCtrl() {
base = this;
base.myVar = 'string_1';
base.myFunction = myFunction;
function myFunction(value) {
value = 'string_2"';
}
}
Hier ist meine Vorlage.
<div ng-controller="baseCtrl as base">
<button ng-click="base.myFunction(base.myVar)">Button</button>
</div>
Nach Klick base.myVar sollte von „string_1“ auf „string_2“ ändern, aber dies nicht geschieht.
Weiß jemand, wie ich es herausfinden könnte?
* „Das wäre nicht passiert, wenn ich $ Bereich zu verwenden“ * .. warum nicht, was würde Unterschied sein? Ihre Funktion ändert immer noch nur eine lokale Variable – charlietfl
Ich denke, Basis könnte ein Schlüsselwort oder etwas in JavaScript sein; hat das vielleicht damit zu tun? –