Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng click事件不适用于ocLazyLoad_Javascript_Angularjs_Angularjs Ng Click_Oclazyload - Fatal编程技术网

Javascript ng click事件不适用于ocLazyLoad

Javascript ng click事件不适用于ocLazyLoad,javascript,angularjs,angularjs-ng-click,oclazyload,Javascript,Angularjs,Angularjs Ng Click,Oclazyload,我有一个基本的Angular.js应用程序,它使用ocLazyLoad加载应用程序文件。我正在使用sbAdminApp模板的框架 我的问题是,当我使用带有ng click事件的模板时,不会触发click事件。这不是范围问题,因为当我将函数的内容打印到视图时,它会显示出来 以下是我的一些代码: 要使用ocLazyLoad加载文件,请执行以下操作: $stateProvider.state('dashboard.importLotteries', { templateUrl: '/Scrip

我有一个基本的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>
结果视图如下所示:

如您所见,该函数存在于作用域上,但单击事件没有触发,并且我没有收到任何错误

我尝试在网上搜索一个解决方案已经有一段时间了,但是找不到,所以任何帮助都将不胜感激


进一步调查该问题后,我发现事件函数(importLotteries)在作用域中未定义,但当我将值更改为字符串而不是函数时,作用域值是正确的。

尝试将ng href或href附加到链接,它将被触发

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

来源:


[1]

@HanletEscaño不,不应该。如果您使用的是controllerAs语法,那么您只能添加一个前缀,而controllerAs语法不是,而且您可能不想将其命名为$scope。谢,你怎么知道它没有开火?你在里面设置断点了吗?@Shai你怎么知道这是ocLazyLoad问题?您是否尝试过提前加载文件(lotteriesService.js,lotteries.js),而不是使用ocLoazyLoad加载?@matmo,是的,我设置了一个断点,并添加了一个未执行的警报命令。您是否可以对您的问题进行处理?@ShaiAharoni我想您可以共享一个或多个plnkr问题,这将更容易调试,但他没有使用链接,而是输入,它不应该有href属性或ng href
<input type="button" ng-click="importLotteries()" ng-href='#' value="Import"/>