특성에 정의 된 메서드 및 속성에 대한 일련의 컨트롤러 액세스 권한을 부여하려고합니다. 지금 내가 함께 온 최고의 구현은 다음과 같습니다AngularJS에서 컨트롤러 특성을 구현하는 방법
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope, CtrlTrait) {
$scope.name = CtrlTrait.presetName;
CtrlTrait.setGreeting.call($scope, 'Hello');
});
app.service('CtrlTrait', function() {
this.setGreeting = function(greeting) { this.greeting = greeting; }
this.presetName = 'tom';
});
이 괜찮지 만, 내가 직접 만들지 않고도 컨트롤러의 $ 범위를 통해 액세스 할 수 있도록 속성과 방법을 싶습니다 각 컨트롤러의 별칭. 나는 단지 컨트롤러에 서비스를 주입함으로써 템플릿의 속성과 메서드를 사용할 수 있기를 원합니다.
가능하거나 원하는 속성과 메서드가 사전 설정되어있는 $specialCtrlScope
과 같은 [wrapper around]/[provider for] $scope
을 만들어야합니까?
당신이 원하는 구문의 예를 들어 줄 수 있을까? 'CtrlTrait.setGreeting()'대신'$ scope.setGreeting()'을 호출하기를 원한다는 말입니까? – Hylianpuffball
예! 맞습니다. '$ scope.setGreeting()'을 호출하고 싶습니다. –
여러분은 http://docs.angularjs.org/guide/dev_guide.services.creating_services –