簡體   English   中英

ng-click事件不適用於ocLazyLoad

[英]ng-click event not working with ocLazyLoad

我有一個基本的Angular.js應用程序,它使用ocLazyLoad來加載應用程序文件。 我正在使用sbAdminApp模板的骨架。

我的問題是,當我使用帶有ng-click事件的模板時,不會觸發click事件。 這不是范圍問題,因為當我將函數的內容打印到視圖時,它會顯示出來。

這是我的一些代碼:

使用ocLazyLoad加載文件:

$stateProvider.state('dashboard.importLotteries', {
    templateUrl: '/Scripts/app/views/importLotteries.html',
    url: '/importLotteries',
    controller: 'LotteriesCtrl',
    resolve: {
        loadMyFiles: function ($ocLazyLoad) {
            return $ocLazyLoad.load({
                name: 'sbAdminApp',
                files: [
                    '/Scripts/app/scripts/services/lotteriesService.js',
                    '/Scripts/app/scripts/controllers/lotteries.js'

                ]
            })
        }
    }
}

這是importLotteries.html模板文件:

<!-- /.row -->
<div class="row">
    <div class="col-lg-12">
        <div class="panel panel-default">
            <div class="panel-heading">
                Import Lotteries
            </div>
            {{importLotteries.toString()}}
            <div class="panel-body">
                <input type="button" ng-click="importLotteries()"  value="Import"/>

                <span ng-model="importStatus">
                </span>
            </div>
        </div>
            <!-- /.panel -->
        </div>
    <!-- /.col-lg-12 -->
</div>

這是控制器的代碼:

'use strict';
angular.module('sbAdminApp')
  .controller('LotteriesCtrl', function ($scope, lotteriesService) {

      $scope.importLotteries = function () {

          alert("importing");
          $scope.importStatus = "Loading...";
      };

  });

結果視圖如下所示:

在此輸入圖像描述

正如您所看到的,該函數存在於作用域上,但是click事件沒有觸發,我沒有收到任何錯誤。

我試圖在網上搜索一個解決方案,現在找不到一個,所以任何幫助將不勝感激!

在進一步研究該問題之后,我發現事件函數(importLotteries)在范圍內是未定義的,但是當我將值更改為字符串而不是函數時,范圍值是正確的。

嘗試將ng-href或href附加到鏈接,它將被觸發。

<input type="button" ng-click="importLotteries()" ng-href='#' value="Import"/>

資源:

[1] Angular ng-click,調用控制器功能不起作用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM