指令功能未运行

时间:2016-02-19 00:22:55

标签: angularjs angularjs-directive

我有这个指令:

$_FILES["file"]

这是我的模板:           

angular.module('colab.dropdown', []).directive('colabDropdown', function(){
  return {
    restrict: 'A',
    transclude: true,
    scope: {
           ddlist: '=listtoshow',
           model: '=modeltosave',
           displayField: '=listfieldtoshow',
           fieldtoSave: '=listfieldtosave'
    },
    link: function(scope, element, attrs) {    
        var ddlist = scope.ddlist,
        model = scope.model,
        displayField = scope.displayField,
        fieldtoSave = scope.fieldtoSave,
        rowIdx = scope.rowIndex;

        rowIdx = null;


     for(var i=0;i < ddlist.length;i++){

      if(ddlist[i][attrs.listfieldtosave] == model){
        rowIdx = i;
      }

     }

    if(rowIdx !== null){
      scope.displayField = ddlist[rowIdx][attrs.listfieldtoshow];
    }

    console.log(scope.displayField);

    scope.selectItem = function(unit) {        
          console.log(unit);

    // var idx = scope[attrs.listtoshow].indexOf(unit);        
    // scope[attrs.modeltosave] = unit[attrs.listfieldtosave];
    // scope.listfieldtoshow  = unit[attrs.listfieldtoshow]; 
     };     
    }
    }
});

我无法执行以下操作:

    点击收音机后,
  1. 在我的模板中运行功能 <div class="radio"> <label> <input type="radio" name="chickenEgg" ng-value="mm.id" ng-model="formData.chickenEgg" ng-change="selectItem(mm)" > {{mm.name}} - {{mm.year}} </label> </div>

  2. 在DOM中显示selectedItem()。我可以在控制台中显示它(指令的第38行),但不能在DOM中显示。参见plunker console **

  3.   

    如果指令中没有{{displayField}},我可以运行selectItem()

    http://plnkr.co/edit/wuLmJs5f6hVhPEP7OqKS?p=preview

    谢谢。

1 个答案:

答案 0 :(得分:1)

您需要添加 selectItem()功能添加到 angular-hovercard.js 文件。

$scope.selectItem = function(item) {
    console.log(item);   
            }

Check it Out