在我聲明瞭控制,像這樣的觀點:角和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();
}
}
}());
問題是,在控制器的頂部聲明變量是私人範圍變量的一個好習慣嗎? – JamesNB
我認爲你對JavaScript和Java有點混淆。這些控制器不會在用戶之間共享。它都是在客戶端實例化的。在Java中,當我們有Singleton類時,我們避免在類的頂部聲明變量,否則它將在所有線程中共享。如果你需要一個沒有其他控制器可以無意中破壞的變量,那麼綁定到作用域將被創建的作用域並被作用域銷燬。 –