我是Angular和Require的新手,我的问题是关于下面的一段代码(我已经连接了角度和要求,如果被问到我可以包含文件); bootstrap-switch元素未初始化:
define(['myapp.ui/module', function (module) {
module.directive('bootstrapSwitch', ['$parse', '$path', function ($parse, $path) {
return {
restrict: 'A',
replace: true,
link: function (scope, element) {
//load requirements for this directive.
console.log(element.bootstrapSwitch);
element.bootstrapSwitch();
}
};
return require([
'myapp.ui/switch/bootstrap-switch.min',
'css!myapp.ui/switch/bootstrap-switch.min'],
function () {
return {
restrict: 'A',
replace: false,
link: function (scope, element) {
//load requirements for this directive.
element.bootstrapSwitch();
}
};
});
}]);
}]);
我能够看到正在加载的指令文件(上面那个),但是元素没有初始化,我看不到bootstrap-switch.min.css和bootstrap-switch.min.js(我知道路径工作,我确定我在某处有一个sintax问题。如果没有,请详细说明。任何帮助将不胜感激!!!!
谢谢!!!
答案 0 :(得分:2)
语法问题1:
变化:
define(['myapp.ui/module', function (module) {
要:
define(['myapp.ui/module'], function (module) {
另外,请考虑使用与“module”不同的参数名称,因为它可能与AMD模块混淆。 (名为'module'的模块是一个特殊的模块,它引用加载的模块本身。)
语法问题2:
第二个return
语句不会做任何事情。也许您希望在外部define
中包含所有依赖项:
define([
'myapp.ui/module',
'myapp.ui/switch/bootstrap-switch.min',
'css!myapp.ui/switch/bootstrap-switch.min'
], function (ui) {
答案 1 :(得分:0)
返回语句后无法返回另一个东西。如果require语句尝试加载某些依赖项,则可以将它放在define first参数中。