ng-click上的设置和属性不起作用

时间:2016-12-09 21:09:15

标签: javascript angularjs

我正在尝试动态生成多个div,但添加ng-click属性不起作用。

这是我的代码

        var div = document.createElement('DIV');
        div.className = 'container-car';

        var child_div = document.createElement('DIV');
        child_div.className = 'carre-car';
        child_div.setAttribute("ng-click", "$scope.testCharacter(" + JSON.stringify(unicode) + ")");

        var child_paragraphe = document.createElement('P');
        var child_text = document.createTextNode($scope.unicode_from_int(unicode['unicode']));
        child_paragraphe.appendChild(child_text);

        child_div.appendChild(child_paragraphe);

        div.appendChild(child_div);

        var paragraphe = document.createElement('P');
        var text = document.createTextNode(unicode['pinyin']);
        paragraphe.appendChild(text);

        div.appendChild(paragraphe);

        document.getElementById('container-biblio').appendChild(div);

我尝试了另一种方式,如post所示,但似乎无效。

1 个答案:

答案 0 :(得分:1)

试试这个:

var div = document.createElement('DIV');
div.className = 'container-car';

var child_div = document.createElement('DIV');
child_div.className = 'carre-car';
child_div.setAttribute("ng-click", "testCharacter(" + JSON.stringify(unicode) + ")");

var child_paragraphe = document.createElement('P');
var child_text = document.createTextNode($scope.unicode_from_int(unicode['unicode']));
child_paragraphe.appendChild(child_text);

child_div.appendChild(child_paragraphe);

$compile(child_div)($scope);

div.appendChild(child_div);

var paragraphe = document.createElement('P');
var text = document.createTextNode(unicode['pinyin']);
paragraphe.appendChild(text);

div.appendChild(paragraphe);

document.getElementById('container-biblio').appendChild(div);

您不需要在案例中使用$scope而忘记$compile(child_div)($scope);让角度解释您的angularjs特定属性。