Я совершенно новый для AngularJS и застрял в этом. Я хочу иметь возможность условно отображать на странице оповещение Javascript. Предположим, что я хочу сделать что-то вроде этого:AngularJS insert alert box
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="personCtrl">
<script>{{warning}}</script>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope) {
$scope.warning = "alert('This is a warning');";
});
</script>
</body>
</html>
Поэтому я предположил, что это связано с AngularJS дезинфицирующим строку и вынимая JavaScript. Через некоторое Googling я попробовал следующее:
$scope.warning = $sce.trustAsJS("alert('This is a warning');");
Я также попытался trustAsHtml и добавил теги сценария в строке, но и не отображается alertbox. Может ли кто-нибудь сказать мне и сказать мне, что происходит не так?
вы должны просто поместить строку 'alert (..)' в ваш контроллер как обычный код – svarog
, вам не нужно использовать область видимости, просто поместите предупреждение, где вы хотите показать его, как вы используете в javascript. – Shuvro