В представлении я объявляющий контроллер, как так:Угловой и Javascript возможности для переменного доступа
<div data-ng-controller="myController as myCtrl">
{{myCtrl.selectedMonth}}
</div>
Я хочу, чтобы иметь возможность доступа в месяц с точкой зрения, но я не хочу даты объект должен быть доступен из представления. Будет ли это делать? Доступен ли доступ к testabc из представления? Является ли это хорошим способом иметь переменные с ограниченной видимостью на контроллере?
;(function() {
'use strict';
angular
.module('myApp')
.controller('myController', myController);
function myController() {
var testabc = 'can you see this';
var dateRef = new Date();
var vm = this;
angular.extend(vm, {
selectedMonth: undefined
});
init();
function init(){
vm.selectedMonth = dateRef.getMonth();
}
}
}());
Вопрос в том, что объявляет vars в верхней части контроллера хорошей практикой для использования переменных в частной области? – JamesNB
Я думаю, что вы немного запутались между JavaScript и Java. Эти контроллеры не используются пользователями. все это создается на стороне клиента. В Java обычно, когда у нас есть класс Singleton, мы избегаем наличия переменных, объявленных в начале класса, иначе он будет использоваться для всех потоков. Если вам нужна переменная, в которой нет другого контроллера, он может непреднамеренно компрометировать, а затем привязать к области, которую он получит, созданной с областью действия и уничтоженной областью. –