到目前为止,我在Scope passScope上使用了名为onGroundUserClick的以下函数。
我想设置它,以便在加载iframe时运行的函数将设置ng-click。
var $tdName = $("<td/>", {
"class": "name",
"ng-click": "passedScope.onGroupUserClick(this)",
});
当我在Chrome中打开开发者控制台时,我看到ng-click属性确实已添加到按钮中,但它不会启动该事件。
a class="link" ng-click="passedScope.onGroupUserClick(this)" href="">Account Manager a
任何建议都将受到高度赞赏。我有点被困在这里。
答案 0 :(得分:1)
将元素添加到DOM后,请调用$scope.$digest();
以填充模型,并将UI设置为&#34;同步&#34;。您可以在此处找到更全面的解释:
答案 1 :(得分:0)
您可以在循环中创建<td>
视图,如变量$ tds,并在ng-click中传递您的逻辑,这将起作用。
您必须动态更改循环变量$ tds值。
像:
<td ng-repeat="td in tds">
<a ng-click="your_fun()">{{td.val}}</a>
</td>
答案 2 :(得分:0)
你想看起来像这样:
var app = angular.module('myApp', []);
app.directive('custom', function ($compile) {
return{
restrict:'A',
link: function (scope, ele, attrs) {
scope.$watch(attrs.custom, function(html) {
ele.html(html);
$compile(ele.contents())(scope);
});
}
};
});
app.controller('myCtrl', function($scope) {
$scope.html = '<button ng-click="doSomething()">Click me</button>';
$scope.doSomething = function(){
alert('click');
};
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl" >
<div custom="html"></div>
</div>
&#13;