使用追加功能时,ng-click不起作用

时间:2017-01-09 11:31:50

标签: javascript angularjs ionic-framework

我正在尝试使用ng-click在创建动态元素时调用函数但到目前为止没有成功。这是我的代码

$scope.myfunc = function(){
    alert("anything")
}

var divtoappend=angular.element( document.querySelector('#slist'));
divtoappend.append("<button class = 'optv' ng-click='myfunc()'>" +mybutton+ "</button>");
...

没有错误,点击

没有任何反应

3 个答案:

答案 0 :(得分:2)

您需要编译动态生成的HTML,以使其属于AngularJS的范围。 只需编译内部附加方法,如

divtoappend.append($compile("<button class = 'optv' ng-click='myfunc()'>" +mybutton+ "</button>")($scope));

在您的控制器中注入$compile之前。

我创建了一个plunkr,请看plunkr link

答案 1 :(得分:2)

在注入DOM树之前,你必须使用$compile API编译DOM,如下所示。

divtoappend.append($compile("<button class = 'optv' ng-click='myfunc()'>" +mybutton+ "</button>")($scope));

通过编译DOM angular会将所有HTML级别绑定放在$$watchers $scope数组中,以确保UI在每个摘要周期都是最新的。

答案 2 :(得分:0)

您需要使用$ compile

编译DOM元素
$compile(divtoappent)(scope);