我跑進前些天下的代碼塊返回一個值,而我試圖找出到底爲什麼筆者可能選擇return init();
,而不是做一些像AngularJS - 明確從控制器
$scope.init = function() {...};
並用ng-click
或其他東西來稱呼它。 下面的代碼:
myApp.controller("PlaylistCtrl", [
"$scope", "tracksService", function($scope, tracksService) {
var init;
init = function() {
$scope.addTrack("Jay-Z - 99 Problems");
return $scope.tracks = $scope.getTracks();
};
$scope.getTracks = function() {
return tracksService.tracks();
};
$scope.addTrack = function(trackTitle) {
if (trackTitle !== "") {
return tracksService.addTrack(trackTitle);
}
};
return init();
}
]);
所以當看臺上的問題是:什麼是從控制器返回值的目的是什麼?它利用了哪些附加功能?這是否會導致init()
在控制器啓動後運行 - 如果沒有,那麼這裏的具體用途是什麼?任何幫助表示讚賞。謝謝。
控制器的返回值是控制器對象實例 - 播放列表控件。因此,您可以添加屬性和方法來附加到控制器的「返回值」,而不是將它們附加到繼承的$ scope變量。有關更多詳細信息,請參閱http://toddmotto.com/digging-into-angulars-controller-as-syntax/。 –