【发布时间】:2016-03-15 21:21:51
【问题描述】:
我遇到了角度 ng-Click 的问题。
我的控制器
var ParentController = function ( ) {
this.MyEvent = function () {
alert('foo-bar');
};
this.AddHTML= function () {
$("#ButtonSec").html('<input type='button' ng-click='Parent.MyEvent()' value='inner button'/>');
};
};
angular.module('myApp', []).controller('ParentController', ParentController);
HTML - 1(按预期工作按钮 ng-click 按预期绑定到“内部按钮”):
<div ng-app='testComponent'>
<div id="content" ng-controller="ParentController as Parent">
<div id="ButtonSec">
<input type='button' ng-click='Parent.MyEvent()' value='inner button'/>
</div>
</div>
</div>
HTML-2(不工作):使用添加 HTML 按钮呈现 html 时。事件未按应绑定到内部按钮(重要的是我不能根据客户要求使用 $scope)
<div ng-app='testComponent'>
<div id="content" ng-controller="ParentController as Parent">
<div id="ButtonSec">
</div>
<input type='button' ng-click='Parent.AddHTML()' value='Add HTML'/>
</div>
</div>
【问题讨论】:
-
第二个不在
Parent控制器范围内。 Angular 控制器范围仅适用于内部内容和自身 -
已更新,请检查...谢谢
-
你包含了 jQuery 吗?
-
直接 DOM 操作将不起作用。您将不得不使用 $compile 服务
-
$compile 也需要一个作用域。您应该绕过使用像 ng-if 或自定义指令这样的指令
标签: javascript jquery html angularjs