这是我的代码,用户名没有显示在我的DOM中。 启动soundcloud API后,使用SC.get调用加载数据,回调函数将$ scope.user设置为响应。
如果我检查我的浏览器什么都不会出现,任何解决这个问题的想法?
<div ng-controller="trackCtrl">
<p ng-bind="user.username"></p>
</div>
function trackCtrl($scope)
{
$scope.initialize = function() {
console.log('initialize');
SC.initialize({
client_id: "CLIENT_ID",
redirect_uri: "http://soundcloud.dev/app/callback.html",
});
SC.get('/users/marioochoa/', function(user) {
$scope.user = user;
$scope.getTracks();
});
};
$scope.getTracks = function() {
console.log('getTracks');
};
$scope.initialize();
};
答案 0 :(得分:2)
由于从“外部”Angular调用SC.get
回调,您需要手动触发摘要循环,以便Angular更新视图。为此,您应致电$scope.$apply()
:
SC.get('/users/marioochoa/', function(user) {
$scope.$apply(function() {
$scope.user = user;
$scope.getTracks();
});
});
您可以找到有关此事的更多信息here。