Я предполагаю, что вы пытаетесь достичь чего-то, называемого «закрытием». Если это так, измените контроллер:
app.controller('MainCtrl', function($scope) {
$scope.vm = {};
function myFunc(){
$scope.vm.hello = 'Hello';
return function() {
$scope.vm.world = 'world';
}
}
var hello = myFunc(), // invokes outer function
world = hello(); // invokes inner function
console.log($scope.vm);
});
В коде внутренняя функция myFunction()
нельзя назвать вне метода myFunc()
, поскольку сфера его применения ограничена этим наружным способом. Вы можете, конечно, называть его непосредственно внутри внешнего метода или лучше - немедленно сделать внутреннюю функцию:
function myFunc(){
$scope.vm.hello = 'Hello';
(function myFunction(){
$scope.vm.world = 'world';
})();
}
Внутренняя функция 'myFunction()' никогда не называется? – kaveman
Вам нужно также вызвать 'myFunction()', а также из 'myFunc', так как он не будет доступен снаружи. Просто так, как вы вызываете 'myFunc();' – PSL