2016-04-09 21 views
0

Belgenin durumunu belirten basit bir yönerge oluşturmak istiyorum. Bu şeyi kontrol cihazında ve direktif olmadan çalıştırıyorum. Ama yeniden kullanılabilir bir yönerge oluşturmak istiyorum.Belge Durumu Yönergesi

1- Yeni: Bu oluşturduk

Yayınlanan 2- kaydedilmeyen 3- Taslak 4-

Document Status Changed to Unsaved

Document Status New

şu durumları olurdu Eksantrik: http://plnkr.co/edit/sNoHGh4c4dgYycoDAhLQ?p=preview

Yönergem formun dışında kalacaktı. direktifte

$scope.mainform.$setSubmitted(); 

cevap

0

bir özellik tarafından tanımlanan bir kapsam değişkeni işlevini yayınlamak,: Yani ben böyle direktifi onun durumuna erişmek herhangi bir yolu yoktur.

angular.module("myApp").directive('once', function() { 
    return { 
    scope: { 
     //publish API 
     onceAPI: '=once' 
    }, 
    link: function(scope, elem, attrs) { 
     scope.onceAPI = scope.onceAPI || {}; 
     //publish function 
     scope.onceAPI.setPostComplete = function() { 
      console.log("post complete") 
      scope.onceAPI.isPosted = true; 
     } 
    } 
    }; 
}); 

KULLANIMI

<div once="vm.onceAPI"></div> 

KONTROL

vm.submit = function(){ 
    $scope.mainform.$setSubmitted(); 
    var postData = {in1: vm.in1}; 
    $http.post(url,postData).then(function() { 
     vm.onceAPI.setPostComplete(); 
    }); 
}; 

DEMO on PLNKR.

+0

Çok teşekkürler @georgeawg. Yönergenin içindeki tüm işlevselliği (şablon dahil) dahil etmenin bir yolunu aradım, böylece formun adını aynı tuttuğumda, diğer sayfalarda yeniden kullanabilirdim. – geekowls

+0

Bana yardımcı olabilir misiniz? – geekowls

+0

Ne denediniz ve yaşadığınız problemler neler? Direktifler hakkında genel bilgi için, [AngularJS Geliştiriciler Rehberi - Direktifler] 'i (https://docs.angularjs.org/guide/directive) ziyaret edin. Daha fazla bilgi için, bkz. [AngularJS Kapsamlı Direktif API Referansı] (https://docs.angularjs.org/api/ng/service/$compile#comprehensive-directive-api). – georgeawg