Оконный объект недоступен в $scope в функциях контроллера / ссылки

Я поместил kendo-window в моем HTML.

Согласно документам, объект окна должен быть доступен в области видимости.

Теперь я хочу привязать слушателя к окну activate событие из контроллера, которое объявлено внутри окна. то есть:

разметка:

<body ng-app="app">

    <div kendo-window='potatoWindow'>
        <div ng-controller='PotatoController'>
            here
        </div>
    </div>

ЯШ:

var app = angular.module("app", ["ngRoute", "kendo.directives"]);

app.controller("PotatoController", function($scope){
    $scope.potatoWindow.bind("activate",
        function () {
            console.log("potato");
        });
});

... но объект окна (potatoWindow) не найден на $scope во время контроллера.

Qs:

  1. почему объект окна недоступен? я что-то пропустил?
  2. если нет возможности получить доступ к объекту окна - есть ли способ получить те же результаты другими способами?

1 ответ

Я думаю, что ваша разметка окна кендо должна быть частью разметки контроллера. Кроме того, попробуйте использовать k-on-activate привязать и определить вашу функцию в контроллере следующим образом:

MARKUP:

  <div ng-controller='PotatoController'>
             <div kendo-window='potatoWindow' k-on-activate='fry()'>
                 here
             </div>
   </div>

JS:

  var app = angular.module("app", ["ngRoute", "kendo.directives"]);    
    app.controller("PotatoController", function($scope){
         $scope.fry = function(e){
              console.log('fried!');
         };
    });
Другие вопросы по тегам