Как связать событие клика в угловых JS с помощью requirejs?

0

не могли бы вы рассказать мне, как связать событие click, используя js + angularjs

Я пытаюсь связать событие click, но он привязывает событие click. Вот мой код

index.html

<!DOCTYPE html>
<html>
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<head>
    <link type="text/css" href="http://code.ionicframework.com/1.0.0-beta.1/css/ionic.css" rel="stylesheet" />
</head>

<body>
<ion-nav-view animation="slide-left-right"></ion-nav-view>
<script data-main="main" src="lib/require.js"></script>
</body>

</html>

main.js

requirejs.config({
    paths: {
        ionic:'lib/ionic.bundle'
    },
    shim: {
        ionic : {exports : 'ionic'}
    }, priority: [
        'ionic'
    ],

    deps: [
        'bootstrap'
    ]
});

bootstrap.js

/*global define, require, console, cordova, navigator */

define(['ionic',  'app', 'routes'], function (ionic, angular, app) {
    'use strict';

    var $html,
        onDeviceReady = function () {
            angular.bootstrap(document, [app.name]);
        };

    document.addEventListener("deviceready", onDeviceReady, false);

    if (typeof cordova === 'undefined') {
        $html = angular.element(document.getElementsByTagName('html')[0]);
        angular.element().ready(function () {
            try {
                angular.bootstrap(document, [app.name]);
            } catch (e) {
                console.error(e.stack || e.message || e);
            }
        });
    }

});

app.js

/*global define, require */

define(['ionic'],

    function (angular) {
        'use strict';

        var app = angular.module('app', [
            'ionic']);

        return app;

    });
Теги:
ionic-framework
angularjs-scope
angularjs-directive
requirejs

1 ответ

1
Лучший ответ

У вас есть несколько ошибок в вашем коде... слишком многие тоже перечисляют их все. См. Plunker для исправлений.

  1. Модуль ionic должен быть экспортирован как angular.

    requirejs.config({
        paths: {
            ionic:'lib/ionic.bundle'
        },
        shim: {
            ionic : {exports : 'angular'}
        }, priority: [
            'ionic'
        ],
    
        deps: [
            'bootstrap'
        ]
    });
    
  2. Ионный/Угловой должен быть загружен первым - или угловой не может инициализировать себя.

  3. На маршрутах вы должны ссылаться на контроллер по имени - не по местоположению

    /*global define, require */
    
    define(['app'], function (app) {
    'use strict';
    
    
    app.config(['$stateProvider', '$urlRouterProvider',
        function ($stateProvider, $urlRouterProvider) {
    
            $stateProvider
                .state('login', {
                    url: "/login",
                    templateUrl: "login.html",
                    controller: 'controllers/LoginCtrl' // <-- should be 'LoginCtrl'
                })
    
            $urlRouterProvider.otherwise("/login");
    
        }]);       
    });
    
  • 0
    не могли бы вы привести пример некоторых ошибок?
  • 0
    Спасибо за ответ ..!! отличный anser. но не могли бы вы объяснить некоторые ошибки

Ещё вопросы

Сообщество Overcoder
Наверх
Меню