How*_*ard 45 controller angularjs
模块路线:
var switchModule = angular.module('switchModule', []);
switchModule.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/build-content', {templateUrl: 'build-content.html', controller: BuildInfoController});
}]);
Run Code Online (Sandbox Code Playgroud)
控制器:
function BuildInfoController($http, $scope){
alert("hello");
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<html ng-app="switchModule">
...
<body>
<ul>
<li><a href="#build-content"/></a></li>
</ul>
<div class="ng-view"></div>
</body>
...
Run Code Online (Sandbox Code Playgroud)
每次当我点击超链接''时,'BuildInfoController'将被调用两次.我错过了什么吗?
dip*_*dip 71
我今天面临同样的问题.我在$ routeProvider中添加了控制器名称,也在我的html中添加了控制器名称.
$routeProvider
.when('/login', {
controller: 'LoginController',
templateUrl: 'html/views/log-in.html'
})
Run Code Online (Sandbox Code Playgroud)
在我看来
<div class="personalDetails" ng-controller="LoginController"> </div>
Run Code Online (Sandbox Code Playgroud)
您可以从视图或路径提供者中删除控制器名称.
mpm*_*mpm 43
我有同样的问题,似乎路由有一个愚蠢的错误.正在进行某种重定向.
修复它,我只是在href中添加了一个斜杠,如:
<li><a href="#/build-content/"></a></li>
Run Code Online (Sandbox Code Playgroud)
我希望它也会为你解决问题.
Dan*_*Dan 16
我有类似的问题.我发现在路由中添加了一个尾部斜杠,但链接中没有按预期工作.
$routeProvider.
when('/build-content/',...);
Run Code Online (Sandbox Code Playgroud)
有了这个标记
<li><a href="/build-content">Content</a></li>
Run Code Online (Sandbox Code Playgroud)
然后AngularJS会将浏览器中的URL更正为$ routeProvider中定义的内容.
奇怪的是,相反的情况似乎也与链接中的尾部斜线有关,而不是在路径中.似乎只要尾部斜杠与解析不匹配,控制器就不会被调用两次!
我是一个有2 ng-view指令的案例.我试图包装它,但无意中重复了它:
<div class="ng-view">
<div ng-view></div>
</div>
Run Code Online (Sandbox Code Playgroud)
取下包装,修好.
| 归档时间: |
|
| 查看次数: |
41916 次 |
| 最近记录: |