无法在角度引导模态窗口中获取对剑道网格的引用

青年程序员

我正在尝试引用放置在引导模态使用的模板内的剑道网格。当直接放置在应用程序控制器的范围内时,同一网格可以工作,但是会从模式实例控制器引发未定义的错误。

有人可以告诉我我在做什么错。

var app = angular.module('plunker', ['ui.bootstrap', 'kendo.directives']);

app.controller('MainCtrl', function($scope, $modal) {
  $scope.name = 'World';

  $scope.mySource = new kendo.data.DataSource({
          data: [
            {ColumnOne:'One', ColumnTwo:'Two'},
            {ColumnOne:'Three', ColumnTwo:'Four'},
            {ColumnOne:'Five', ColumnTwo:'Six'}
            ]
  });

  $scope.myGridChange = function(){
     var selectedRows = $scope.myGrid.select();
     console.log($scope.myGrid.dataItem(selectedRows[0]));
  };

   $scope.items = ['item1', 'item2', 'item3'];

   $scope.open = function () {

    $modal.open({
      templateUrl: 'myGridTemplate.html', //'myTemplate.html',
      controller: ModalInstanceCtrl,
      resolve: {
        items: function () {
          return $scope.items;
        }
      }
    });
   };
});


var ModalInstanceCtrl = function ($scope, $modalInstance, items) {

  $scope.items = items;
  $scope.selected = {
    item: $scope.items[0]
  };

  $scope.myTempSource = new kendo.data.DataSource({
          data: [
            {ColumnOne:'One', ColumnTwo:'Two'},
            {ColumnOne:'Three', ColumnTwo:'Four'},
            {ColumnOne:'Five', ColumnTwo:'Six'}
            ]
  });

   $scope.myTempGridChange = function(){
     var selectedRows = $scope.myTempGrid.select();
     console.log($scope.myTempGrid.dataItem(selectedRows[0]));
  };

  $scope.ok = function () {
    $modalInstance.close($scope.selected.item);
  };

  $scope.cancel = function () {
    $modalInstance.dismiss('cancel');
  };
};

我无法在以下位置调用未定义的方法“选择”

var selectedRows = $scope.myTempGrid.select();

这是我的plnkr的链接

http://plnkr.co/edit/GUSX6JR9HRvtdSWclvPl?p=preview

在模态之外,控制器和网格具有相同的作用域。但是,当它们在模态中时,网格范围嵌套在控制器范围内。不能完全确定为什么会这样,但是这就是为什么会出现问题。

当您具有嵌套作用域时,子作用域将典型地从父作用域继承。对于原型继承,当您直接在子作用域上设置某些内容时,它将不会覆盖父作用域。因此,当Kendo设置$ scope.myTempGrid时,它只会在子作用域上设置,而当您尝试从控制器访问它时,它不在那儿。

这可能会造成很大的混乱,但是幸运的是,如果您始终避免将事物直接绑定到示波器,则不应遇到此类问题。例如,如果将网格放在父作用域的某个容器对象中,则不会遇到此问题。

例如:http : //plnkr.co/edit/0VFJfp?p=preview

控制器:

...
$scope.container = {};
...

的HTML

...
<div kendo-grid="container.myTempGrid">
...

更好的解决方案是始终使用“ controller as”语法:http : //plnkr.co/edit/Pmjend?p=preview

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

剑道弹出窗口中的剑道网格

来自分类Dev

模态引导窗口中的CKEditor内联

来自分类Dev

使用引导程序和angularUi在模态窗口中的轮播

来自分类Dev

无法打开引导模态窗口作为路线

来自分类Dev

在EXTJS的“模态”窗口中单击按钮时,在主窗口中重新加载存储/刷新网格

来自分类Dev

从控制器关闭角度引导程序模态窗口

来自分类Dev

如何在添加窗口中通过html helper更改弹出剑道网格的标题

来自分类Dev

无法编辑剑道网格

来自分类Dev

如何从模态弹出窗口中的文本区域获取值?

来自分类Dev

在Twitter引导程序弹出窗口中引用对象

来自分类Dev

是否可以通过k内容将静态HTML标记内容传递到剑道角度模态窗口?

来自分类Dev

AngularJS无法从引导模态窗口传递$ index

来自分类Dev

jQuery星级无法在引导弹出窗口中运行

来自分类Dev

无法让引导动画在滑动窗口中处理 div

来自分类Dev

无法在引导模态中以角度访问$ http数据

来自分类Dev

模态窗口中照片的顺序

来自分类Dev

在模态窗口中居中div

来自分类Dev

扩展剑道窗口中断kendoWindow

来自分类Dev

从Bootstrap模态窗口中删除模态属性

来自分类Dev

获取选定的RowID剑道网格

来自分类Dev

使用或不使用ui-route在角度模态窗口中加载多个视图

来自分类Dev

是否可以将参数传递到模态窗口中?需要模态来引用一个对象

来自分类Dev

窗口中的Mvvm拖动网格

来自分类Dev

引导模态的简单角度指令

来自分类Dev

无法使用引导程序和jQuery获取模态显示

来自分类Dev

如何从引导程序中的弹出式窗口中获取弹出式窗口

来自分类Dev

如何从引导程序中的弹出式窗口中获取弹出式窗口

来自分类Dev

从模态表单窗口中的jQuery获取复选框值的值

来自分类Dev

在jquery模态弹出窗口中获取asp:repeater中label的值

Related 相关文章

  1. 1

    剑道弹出窗口中的剑道网格

  2. 2

    模态引导窗口中的CKEditor内联

  3. 3

    使用引导程序和angularUi在模态窗口中的轮播

  4. 4

    无法打开引导模态窗口作为路线

  5. 5

    在EXTJS的“模态”窗口中单击按钮时,在主窗口中重新加载存储/刷新网格

  6. 6

    从控制器关闭角度引导程序模态窗口

  7. 7

    如何在添加窗口中通过html helper更改弹出剑道网格的标题

  8. 8

    无法编辑剑道网格

  9. 9

    如何从模态弹出窗口中的文本区域获取值?

  10. 10

    在Twitter引导程序弹出窗口中引用对象

  11. 11

    是否可以通过k内容将静态HTML标记内容传递到剑道角度模态窗口?

  12. 12

    AngularJS无法从引导模态窗口传递$ index

  13. 13

    jQuery星级无法在引导弹出窗口中运行

  14. 14

    无法让引导动画在滑动窗口中处理 div

  15. 15

    无法在引导模态中以角度访问$ http数据

  16. 16

    模态窗口中照片的顺序

  17. 17

    在模态窗口中居中div

  18. 18

    扩展剑道窗口中断kendoWindow

  19. 19

    从Bootstrap模态窗口中删除模态属性

  20. 20

    获取选定的RowID剑道网格

  21. 21

    使用或不使用ui-route在角度模态窗口中加载多个视图

  22. 22

    是否可以将参数传递到模态窗口中?需要模态来引用一个对象

  23. 23

    窗口中的Mvvm拖动网格

  24. 24

    引导模态的简单角度指令

  25. 25

    无法使用引导程序和jQuery获取模态显示

  26. 26

    如何从引导程序中的弹出式窗口中获取弹出式窗口

  27. 27

    如何从引导程序中的弹出式窗口中获取弹出式窗口

  28. 28

    从模态表单窗口中的jQuery获取复选框值的值

  29. 29

    在jquery模态弹出窗口中获取asp:repeater中label的值

热门标签

归档