2015-09-10 11 views
5

Başka bir girişi güncellemesi gereken bir yönerge var.Diğer elemanın Access ng modelinde direktif

Ancak, yönergesi

accessOther yönergesi

Aşağıdaki kodda
angular.module('test', []) 
.directive('accessOther', function() { 
    return { 
    require: '?ngModel', 
    link: function(scope, elem, attr, ngModel) { 
     // ngModel here only refers to the current input 
     ngModel.$setViewValue('test'); 

     // how to get access/modify another input? (ie. #outside) 
    } 
    } 
}) 
.controller('parentController', function() { 
    var pc = this; 
    pc.data = {}; 
}) 
.controller('nestedController', function() { 
}); 

, accessOther içinde diğer giriş ng-modeli erişmek için bir yol bulmak olamaz yönerge # akımdır ancak # değiştirmeye çalışıyor. #

<body ng-app="test" ng-controller="parentController as pc"> 
    <input type="text" ng-model="pc.data.parent" id="parent" placeholder="parent"> 

    <div ng-controller="nestedController as nc"> 
     <input type="text" ng-model="pc.data.outside" id="outside" placeholder="outside"> 
     <br> 
     <input type="text" ng-model="pc.data.current" id="current" access-other placeholder="current"> 
    </div> 
</body> 

plnkr: Ayrıca http://plnkr.co/edit/j34GKypDW4h6sZgsMCaA?p=preview

, çok direktif içinden #parent değiştirmek mümkündür?

+0

Üç girişi de değiştirebilirim. Ne yapmaya çalıştığını anlamıyorum. Genelde –

+0

@Ursus ** 'dan gelen yönergeleri ** kullanarak değiştirmeye çalışıyorum ** – xiankai

cevap

4

Lütfen çalışma grubunu kontrol ediniz: Plunker.

direktifi bu ekleyin:

scope.$parent.pc.data.outside = 'changed `outside` from directive'; 
scope.$parent.pc.data.parent = 'changed `parent` from directive'; 

Sen yönerge kapsamı nesne üzerinde parent scope kullanarak $parent özelliğine erişebilir.