2013-12-18 67 views
0

我有一個使用angularjs在javascript中創建的div。這
JS:將ng-click添加到使用ng-bind-html添加的div中

$scope.myHTML=$sce.trustAsHtml('<div 
ng-app="mainModule" 
ng-controller="mainCtrl" 
ng-click="updateText()" 
class="squareButton ng-scope"> </div>"); 

HTML:

<div ng-controller="mainCtrl" ng-bind-html="myHTML" class="screenDiv"></div> 

的問題是,當我在div點擊它不叫我UPDATETEXT()方法

$scope.updateText = function() 
{ 
alert("worked"); 
} 

的div顯示出來。更新方法在mainCtrl控制器中。
ng-click does not work我做錯了什麼或者這只是不支持。

繼承頁面如果有幫助http://stevenjohnston.ca/所有的廣場「應該」彈出警報,但它沒有。

回答

1

將HTML綁定到每個方塊有什麼特別的理由嗎?

只需使用一些網格或表格並將ng-click綁定到每個單元格會更容易。

所以,你可以在外面的div

<body ng-controller="mainCtrl"> 
    <!-- Create Table or Grid .Inside each cell add--> 
    <div ng-click="updateText()"></div> 
</body> 
2

controlle運動。當你寫在你的HTML一些東西,不知道HTML和你想要的角度知道像那些語法「NG單擊」你必須編譯通過$編譯器服務。否則,它將被angularj和Html視爲一個純字符串。 使用下面的代碼。

function htmlGeneratorController($scope, $compile, $sce){ 
$scope.myHTML=$compile($sce.trustAsHtml('<div ng-app="mainModule" ng-controller="mainCtrl" ng-click="updateText()" class="squareButton ng-scope"> </div>'))($scope); 
} 

希望這將有助於:)

+0

嗨,我想在這裏你的解決方案:http://stackoverflow.com/questions/28129918/how-to-bind-ng-click-function-that- was-inserted-as-html-trustashtml但是獲得'[$ sce:unsafe]'?有什麼想法嗎? :) –