我是Angular.js的新手,想了解更多相关信息。 我刚刚创建了一个小项目并希望使用$ scope对象传递多个值。 但它运作不正常。
这就是我在做什么
function ListCtrl($scope, $http,Project) {
$http.get('/project').success(function(data){
str =data.result;
var result= str.replace('http://','domainname');
$scope.projects=data.rows;
$scope.projects=data.result;
});
}
在数据变量中,我得到行和结果。 而且我用$ scope传递了类似的内容。
任何帮助将不胜感激。
答案 0 :(得分:1)
试试这个,
$scope.projects = {};
$scope.projects.rows = data.rows;
$scope.projects.result = data.result;
答案 1 :(得分:1)
您的问题是,视图未被告知$scope.data
变量的更改,因为该值在Promise
的异步回调中被更改,该回调由$http.get()
方法。
只需在$scope
方法中包含$scope.$apply
更改即可运行摘要循环:
$http.get('/project').success(function(data){
$scope.$apply(function() {
// Do scope changes here
})
}
此外,您要将值$scope.projects
分配两次,因此请更改:
$scope.projects = {};
$scope.projects.rows = data.rows;
$scope.projects.results = data.result;
或只是:
$scope.projects = data;
答案 2 :(得分:0)
这两个会相互覆盖。
$scope.projects=data.rows;
$scope.projects=data.result;
你想做的事情可能更像是这样。
$scope.projects = {};
$scope.projects.rows = data.rows;
$scope.projects.result = data.result;
然后在你的html中如果要显示这些,你可以使用ng-repeat来迭代它们并显示每个元素。你有使用HTML的HTML吗?