2015-08-03 4 views
1

Я использую AngularJS 1.4.2 (с угловым материалом), и я пытаюсь реализовать функцию сохранения. Однако ng-click не запускает мою кнопку. Вот мой HTML код:AngularJS ng-click not working

<div ng-controller="ModelEditController" class="col-lg-12 fontArial slide" ng-repeat="mdl in model"> 
    <md-content layout-padding> 
      <form name="modelEditForm" novalidate role="form" unsaved-warning-form> 
      <md-input-container flex style="width:100%"> 
         <label>Name</label> 
         <input required name="model_name" ng-model="mdl.model_name" maxlength="100"> 
       </md-input-container> 

     </form> 
    </md-content> 

    <div class="panel-footer footer" ng-controller="TestController"> 
     <md-button class="md-fab md-primary md-hue-2" aria-label="Save" ng-click="editModel(mdl)"> 
        <md-icon md-svg-src="/img/icons/save.svg"></md-icon> 
     </md-button> 

    </div> 
</div> 

А вот мой Javascript код:

var myApp = angular.module('myApp', ['ui.bootstrap', 'ui.router', 'ngCookies', 'ng-sortable', 'vAccordion', 'ngRoute', 'ngAnimate', 'fiestah.money', 'uiSwitch','ngMaterial','ngMessages','unsavedChanges']) 
}); 


myApp.controller('TestController', ['$scope', 'ModelService', function ($scope,ModelService){ 

     function editModel(xMdl) { 
      console.log("Inside edit model"); 

     } 

    }]); 

«внутри редактировать модель» текст не выводится на консоль. Почему ng-click не работает?

ответ

8

Это потому, что ваша функция editModel не прилагается к $scope. Попробуйте:

$scope.editModel = function(){ ... };