jQuery加载<script>但在AngularJS下就不一样了
jQuery loading <script> but not evaluating the same under AngularJS
我正在开发一个单页应用程序,我打算保持尽可能多的模块化。此外,它将是一个相当大的应用程序,因此,我打算仅在加载关联视图时加载控制器。为了达到同样的目的,我以以下方式组织了我的代码:
app.js
var app = angular.module("app", ['ngRoute']).config(function($httpProvider) {
$httpProvider.defaults.headers.common['X-Requested-With'] = "XMLHttpRequest";
$httpProvider.defaults.headers.post['Content-Type'] = "application/x-www-form-urlencoded; charset=utf-8";
});
route.js
app.config(function($routeProvider) {
$routeProvider.when("/user/login", {
templateUrl: "/user/login.html",
controller: "LoginCtrl"
});
});
用户/login.html <script type="text/javascript" src="/js/user/login.js"></script>
<div>
<!-- Complete Login Form -->
</div>
js/user/login.js
app.controller("LoginCtrl", function() {
// Login related functionality
});
现在,我面临的问题是login.html
模板正在正确加载。同时,正在发送login.js
的请求并成功接收到响应。但是,我仍然从AngularJS得到错误,说LoginCtrl
是undefined
。我对此进行了研究,发现包含jQuery可以解决问题,但这并没有发生。我试着在login.js
文件中放一个简单的警报,但弹出窗口也没有出现。
在这件事上任何帮助都是非常感谢的。
您需要更改登录控制器的位置
app.config(function($routeProvider) {
$routeProvider.when("/user/login", {
templateUrl: "/user/login.html",
//controller: "LoginCtrl" // remove this
});
});
,并像这样替换HTML
<script type="text/javascript" src="/js/user/login.js"></script>
<div ng-controller="LoginCtrl">
<!-- Complete Login Form -->
</div>
相关文章:
- spring和angularJS(我得到了类似HTTP状态404的错误)
- Grunt concat js angularjs 不起作用
- 在Scroll上更新CSS代码:简化它就不会了'不要使用JQuery和最简单的Javascript
- Reveal Modal中带有Foundation-Controller的AngularJS不起作用
- 为什么'这两根绳子不一样吗
- angularjs不会污染全球
- 使用transclude的AngularJS指令破坏了$scope
- jQuery的工作方式不一样
- 使用条件函数的Jquery ReplaceWith()的行为与我预期的不一样
- 为什么两个“这个”不一样
- AngularJS不会从对象中删除表单
- AngularJS不覆盖内置验证器
- 为什么 AngularJS 不允许异或操作
- AngularJs 1.3$资源忽略了一些字符
- 如何检测函数's窗口没有'我再也不存在了
- angularjs不起作用的Json响应
- Angularjs指令隔离了对象不起作用的范围+单向数据绑定
- jQuery加载