Direktifimdeki bazı varsayılan değerleri İzolat kapsamı ile belirtmeye çalışıyorum. Temel olarak, yönergem yönlendirildiğinde kapsam nesnesini kullanarak bazı DOM manipülasyonları yapmam gerekiyor.AngularJS: Yönergesi, izolat kapsam nesnelerine erişemiyor
Kontrolör:
angular.module('ctrl').controller('TempCtrl', function($scope, $location, $window, $timeout, RestService, CommonSerivce) {
$scope.showAppEditWindow = function() {
//Binding the directive isolate scope objects with parent scope objects
$scope.asAppObj = $scope.appObj;
$scope.asAppSubs = $scope.appSubscriptions;
//Making Initial Settings
CommonSerivce.broadcastFunction('doDirectiveBroadcast', "");
};
Hizmeti:
angular.module('Services').factory('CommonSerivce', function ($rootScope) {
return {
broadcastFunction: function(listener, args) {
$rootScope.$broadcast(listener, args);
}
};
Yönergesi:
angular.module('directives').directive('tempDirective', function() {
return {
restrict : 'E',
scope:{
appObj:'=asAppObj',
appSubs: '=asAppSubs'
},
link : function(scope, element, attrs) {},
controller : function ($scope,Services,CommonSerivce) {
//Broadcast Listener
$scope.$on('doDirectiveBroadcast', function (event, args) {
$scope.setDefaults();
});
$scope.setDefaults = function() {
//Setting Default Value
alert(JSON.stringify($scope.appSubs)); //Coming as undefined
};
},
templateUrl:"../template.html"
};
});
Özel Yönergesi elemanı:
<temp-directive as-app-obj="asAppObj" as-app-subs="asAppSubs" />
Aşağıda benim kodudur
Sorun şu ki, direktif kapsamındaki varsayılan yöntemde izolat kapsamına erişmeye çalışırken, veriler gelmekte ve DOM'a bağlı hale gelirken tanımsız bir değer elde etmem gerekiyor. İzleyici kapsamına yayın dinleyicisine nasıl erişebilirim ve yönlendirme şablonu HTML'sini nasıl değiştirebilirim? Bunu işlemek için başka bir şey var mı?
Bir keman oluşturabilir misiniz? – AlwaysALearner