У меня есть базовое приложение Angular.js, которое использует ocLazyLoad для загрузки файлов приложений. Я использую скелет шаблона sbAdminApp.ng-click событие, не работающее с ocLazyLoad
Моя проблема в том, что когда я использую шаблон с событием 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...";
};
});
Вид результат выглядит следующим образом:
Так как вы можете видеть, функция существует по пулу, но событие щелчка не стрелять, и я не получаю никаких ошибок.
Я попытался найти решение в Интернете в течение некоторого времени и не смог найти его, поэтому любая помощь будет принята с благодарностью!
После дальнейшего изучения проблемы, я вижу, что функция события (importLotteries) не определена в области видимости, но когда я меняю значение на строку вместо функции, значение области верна.
@ HanletEscaño Нет, не должен. Вы добавляете только префикс, если используете синтаксис controllerAs, которого нет, и вы, вероятно, не захотите называть его как $ scope. Шай, откуда ты знаешь, что он не стреляет? Установили ли вы точку останова? – matmo
@Shai Откуда вы знаете, что это проблема ocLazyLoad? Вы пытались загрузить файлы (lotteriesService.js, lotteries.js) раньше, а не загружать их с помощью ocLoazyLoad? – Saad
@matmo, да, я установил точку останова, и я добавил команду предупреждения, которая не выполнена. –