我正在使用angularjs製作遊戲。我有一個問題,我還沒有解決。我想使用一個彈出對話框(無警報),其內容取決於上下文。這個彈出窗口包含一個按鈕,點擊後會開始遊戲。如何用angularjs添加一個帶有工作ng鍵功能的html按鈕
由於內容是動態的,ng-click函數不起作用。
我試過指令,直接從控制器,但沒有得到它的工作。
我的具體問題是如何將HTML按鈕添加到包含實際會觸發的ng-click函數的angularjs?
編輯:這裏一個嘗試(實際獲取的按鈕來顯示,但NG-點擊什麼都不做): 控制器:
{
if ($scope.quiz.state === 'finished' || $scope.quiz.state === 'initialized') {
var startButton = '<br><br><button data-ng-click="startQuiz">start quiz</button>';
$scope.popupText = $sce.trustAsHtml('Stating ' + quiz.name + startButton);
$scope.showStart = false;
$scope.showPopup = true;
}
};
$scope.startQuiz = function() {
$scope.showPopup = false;
if ($scope.quiz.state === 'initialized') {
$scope.quiz.start();
$scope.quizTimer.start($scope, $timeout);
}
};
HTML:
<div id="popupBox">
<div id="closePopup" data-ng-click="closePopup()">X</div>
<div data-ng-bind-html="popupText"></div>
</div>
我們無法猜測你是如何在沒有看到代碼的情況下試圖做到這一點的 – charlietfl
我想你會想要做一些像ng-click =「$ rootscope.broadcast(event,data)」的東西。讓任何控制器開始你的遊戲聽事件。 –
您應該將自己的答案標記爲正確答案,以便明確說明問題已解決。除此之外,您還可以加入其他有用的答案。 – lex82