2016-05-18 4 views
-6

Я пытаюсь открыть окно оповещения в моем проекте angularjs.Почему окно предупреждения не отображается?

Вот plunker

Здесь кнопка в виде:

<input type="button" ng-click="fireOnExpand()" value="alert"/> 

Вот функция в контроллере, всплывающее окно предупреждения:

$scope.fireOnExpand = function(){ 
    $window.alert("eee"); 
    } 

Но когда я нажимаю на оповещения кнопку I не видеть окно предупреждения.

Любая идея, почему всплывающее окно не отображается?

+2

Просто используйте предупреждение ('EEE') ;? –

+2

Я не вижу этот код в живой демонстрации, с которой вы связались. – Quentin

+0

Значок '$' не нужен. –

ответ

5

Вам необходимо вводить зависимость $window следующим

app.controller('MainCtrl', function($scope,$window) { 

    $scope.fireOnExpand = function(){ 
    $window.alert("eee"); 
    } 
}); 

Вот demo

В качестве альтернативы, используйте alert('eee');

$scope.fireOnExpand = function(){ 
    alert("eee"); 
    } 

Вот demo

P.S.

Основная причина, по которой ваше окно предупреждения не отображается после добавления $window, поскольку кнопка была вне области действия ng-controller.

Здесь работает правильно code

+0

Почему он не может просто использовать 'window.alert' или' alert', а не '$ window'? Сохраняет его от необходимости добавлять зависимость '$ window'? - Ничего, увидишь свое редактирование :) – Albzi

+0

Он может! И это проще. Я написал это в своем комментарии сначала, просто отредактировал свой ответ, чтобы добавить этот пункт. @ Albzi –

+0

Есть причины, по которым вы используете '$ window', введенный как зависимость в angularjs – Jamiec

Смежные вопросы