【发布时间】:2016-03-08 13:43:18
【问题描述】:
我正在使用 Angular + Typescript + RequireJS。在我配置完所有设置后,简单的 ng-click 对我不起作用,并且错误日志中没有错误。
你们知道我做错了什么吗? 任何帮助将不胜感激
我的文件:
index.html
<html>
<head>
</head>
<body>
<div ng-controller="MasterController">
<button ng-click="toggleModal()">777777777777</button>
</div>
<script src="Script/lib/require.js" type="text/javascript" data-main="Script/main.js"></script>
</body>
</html>
Controllers.ts
/// <reference path="../lib/typings/angular.d.ts" />
/// <reference path="../lib/typings/jquery.d.ts" />
import angular = require("angular");
export var controllerModule = angular.module("controllers", []);
MasterController.ts
/// <reference path="../lib/typings/angular.d.ts" />
/// <reference path="../lib/typings/require.d.ts" />
/// <reference path="controllers.ts" />
import MasterControllerModule = require("Controllers");
class MasterController {
modalShown: boolean = true;
constructor() {
}
toggleModal() {
alert(777);
this.modalShown = !this.modalShown;
}
}
MasterControllerModule.controllerModule.controller("MasterController", MasterController);
main.js
require.config({
paths: {
'angular': 'lib/angular',
'domReady': 'lib/domReady',
'app': 'app',
'Jquery': 'lib/jquery'
},
//waitSeconds: 0,
shim: {
'angular': {
exports: 'angular'
}
},
deps: [
// kick start application... see bootstrap.js
'./bootstrap'
]
});
require([
'angular',
'app',
'domReady',
'controllers/Controllers',
'controllers/MasterController',
'Jquery'
])
app.js
define(['angular',
'controllers/Controllers'], function (angular) {
return angular.module('app', ['controllers']);
});
bootstrap.js
define([
'require',
'angular',
'app'
], function (require, ng) {
'use strict';
require(['domReady!'], function (document) {
ng.bootstrap(document, ['app']);
});
});
【问题讨论】:
-
您是否检查过脚本是否正在加载,例如 Chrome 开发工具?
-
在角度提示中我看到这个错误:模块已创建但从未加载
标签: angularjs typescript requirejs