谢谢!我解决了这个烦人的事情!对我有用的解决方案是我使用角度 UI 路由器,并且我使用了以下代码
.state('app.monimes', {
url: "/monimes",
views: {
'menuContent' :{
templateUrl: "templates/monimes.html",
controller: 'sampleCtrl'
}
}
})
所以然后在我的控制器中
/*** * *用于测试的控制器.. */
.controller('sampleCtrl',['$scope','sampleService', function($scope, $sampleService) {
$scope.username="em";
// Watch for changes on the username property.
// If there is a change, run the function
$scope.$watch('username', function(newUsername) {
// uses the $http service to call the GitHub API
// //log it
$scope.log(newUsername);
// and returns the resulting promise
$sampleService.events(newUsername)
.success(function(data, status, headers) {
// the success function wraps the response in data
// so we need to call data.data to fetch the raw data
$scope.events = data.data;
});
},true);
}
]);
在我看来
<div>
<label for="username">Type in a GitHub username</label>
<input type="text" ng-model="username" placeholder="Enter a GitHub username, like a user" />
<pre ng-show="username">{{ events }}</pre>
</div>
但这没有用。
所以我添加ng-controller="sampleCtrl"
到了 div 中,现在它可以工作了:D
所以这意味着在控制器加载之后加载视图并且观察者不会被添加到观察变量中。