如何在ng-include html页面中触发parentcontroller事件?

时间:2014-10-30 11:46:42

标签: angularjs angularjs-scope angularjs-ng-include

使用ng-include我在index.html中包含一个模板,其中包含另一个html页面alert.html。

我的问题是我可以访问我的父控制器的范围变量,但我无法绑定我的父控制器的事件。

的index.html

 <div >
      <ng-include ng-controller="MyCtrl" src="'addresform.html'" ng-init="name = 'Mike'"></ng-include>
      <ng-include ng-controller="MyCtrl" src="'addresform.html'" ng-init="name = 'byke'"></ng-include>
    </div>


js文件。

var myApp = angular.module('myApp', []);
myApp.controller("MyCtrl", [ '$scope',function ($scope) {
  $scope.testVal="Sample";
  $scope.clickMe=function(name){
    alert(name);
  }
}]);

addresform.html

 Name in AddressForm 
  <ng-include src="'alert.html'"></ng-include><br>

alert.html

<input type="button" value="{{name}}" ng-click="clickMe({{name}})">
{{testVal}}

http://plnkr.co/edit/h4BF0d?p=info

1 个答案:

答案 0 :(得分:0)

您的代码按钮应为

<input type="button" value="{{name}}" ng-click="clickMe(name)">

您无需使用name插入{{}} var,因为在ng-click="clickMe(name)"内它已经是表达式。

演示:http://plnkr.co/edit/DttOq8Jgj6WoMhd8TkCa?p=preview