我正在使用的控制器是:
angular.module('app.PostView', [])
.controller('PostViewCtrl', function($scope, $http, Constants) {
$scope.posts = [];
$scope.doSomething = function(){
console.log("in doSomething");
}
$http.get(Constants.POST_URL)
.then(function (response){
console.log(response);
var post = new PostFactory(response.data);
$scope.posts.push(post);
});
})
控制器的视图是
<div ng-repeat="post in posts" >
<div class="home-container">
<div id="details-container">
<!-- using single item Array instead of single iftem to fix linkify bug -->
<div ng-bind="post.desc"></div>
<span class="item-note single-post-details">
<!-- <div class="time-text">{{post.id}}</div> -->
<div class="title" >{{post.title}}</div>
</span>
<a ng-click="doSomething()" href="#" >{{post.name}}</a>
</div>
</div>
</div>
如果我用onclick替换ng-click,则触发doSomething。目前它不是。其他控制器/视图中的相同Controller和html代码确实有效。
答案 0 :(得分:0)
当您点击主播时,它会将路由更改为http://url/#
,并通过$routeProvider
&amp; ng-view
会加载您所看到的默认视图和模板。
基本上,您需要从锚链接中删除href="#"
,或者只在该锚点中放置href=""
空白。那样可以解决你的问题。
<a ng-click="doSomething()" href="" >{{post.name}}</a>
答案 1 :(得分:0)
完全删除href
<a ng-click="doSomething()"
style='cursor:pointer' >{{post.name}}</a>