我有一个角度应用程序设置如下。Ng-repeat 包含 li 元素,每个元素有 2 个输入(远远超过 2 个,但对于这个演示,我有 2 个)。
该指令设置控制器。
HTML
<li ng-repeat="lw in lw_list" my-lw ng-model="lw" >
<input my-cell ng-init="init(lane , $index , 'name')" ng-class="'lib_name inline_div'" type='text' value="{{ lw.library.name }}" >
<input my-cell ng-init="init(lane , $index , 'volume') "ng-class="'number_field'" type="number" ng-model='volume' />
</li>
javascript
angular.module('Demo').directive("myCell", function(CellStore){
return {
controller : 'CellCtrl' ,
};
}) ;
angular.module('Demo').controller('CellCtrl' , function($scope , CellStore){
$scope.init = function(lane, row, column){
$scope.row = row ;
$scope.column = column ;
console.log("init" , $scope.$parent );
CellStore.addCell( lane.lane, row, column , $viewValue ) ;
} ;
}) ;
所以这个想法是,当每个输入被创建时,它会调用 init 函数,它将输入值存储在一个嵌套的散列中(供以后检索)。但是我不知道如何从控制器中访问 $viewValue 变量(输入包含的值)。