1

プランカーを通してください

 vm.gridOptions = {
        enableSorting: true,
        columnDefs: [
            {field: 'deviceName'},
            {field: 'ip'},
            {
                field: 'Action', enableSorting: false,
                cellTemplate: '/monitoring_page/modals/buttonTemplate.html'
            }
        ],
        data: vm.dataStack,
        onRegisterApi: function (gridApi) {
            vm.gridApiSource = gridApi;
        }
    };
 //api call after coming from ui-bootstrap modal
  vm.gridApiSource.core.refresh();

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

コンソールで gridApiSoucrce は定義されていません。. .

4

1 に答える 1

0

ちょっとした作業の後、それを理解しました - Plnkr をクリックしてください:

  1. appScopeProvider: vmグリッド オプションに追加
  2. グリッドを次のように再宣言します<div ui-grid="vm.gridOptions" ui-grid-pagination ui-grid-save-state class="cover-block"></div>
  3. body宣言を変更し、<body ng-controller="monitoringCtrl as vm">すべての呼び出しを vm を使用するように更新します。

    Example:  ng-click="monitoringCtrl.addDevice()" 
    

    次のようになります。

    ng-click="vm.addDevice()"
    
  4. ng-controller="monitoringCtrl as monitoringCtrlbutton.html から削除すると、そのコード行のためにコントローラーの 8 つのインスタンスが作成されます。

  5. テストしてみよう

ここに画像の説明を入力

これがうまくいく場合は、将来のユーザーが複製できるように受け入れてください。

于 2016-07-22T20:06:21.337 に答える