使用AngularJS,我创建了一个显示对象属性的ng-repeat。我想带root.TooltipText
并能够在控制器中访问它。
这是HTML:
<div id="root">
<div ng-repeat="root in rootresults">
<button type="button" class="btn btn-primary" ng-click="showpagetwo(root.Title, root.ID)" ng-if="root.Location == null">{{root.Title}}
<span class="tooltiptextsmall tooltip-rightsmall" ng-if="root.TooltipSize =='Small'">{{root.TooltipText}}</span>
<span class="tooltiptextnormal tooltip-rightnormal" ng-if="root.TooltipSize =='Normal'">{{root.TooltipText}}</span>
</button>
</div>
</div>
这是我的控制器:
var app = angular.module('wizardApp', []);
app.controller('MainCtrl', function($scope, $http, $q){
$(document).ready(function() {
$scope.getRootList();
});
$scope.prepContext = function(url,listname,query){
var path = url + "/_api/web/lists/getbytitle('" + listname + "')/items" + query;
return path;
}
$scope.getRootList = function() {
rootList = $http({
method: 'GET',
url: this.prepContext(siteOrigin+"/divisions/testing","SupportList","?$orderBy=Title&$filter=RootItem eq 'Yes'"),
headers: {
"Accept": "application/json; odata=verbose"
}
}).then(function(data) {
//$("#articleSection").fadeIn(2000);
console.log(data.data.d.results);
$scope.rootresults = data.data.d.results;
});
};
});
记录data.data.d.results
日志:
{
"0": {
"Title": "Test1",
"TooltipText": "Test1",
"TooltipSize": "Small"
},
"1": {
"Title": "Test2",
"TooltipText": "Test2",
"TooltipSize": "Small"
},
...
}
如何访问控制器中的对象属性?
答案 0 :(得分:0)
修复结果后,如果console.log(data.data.d.results);
获得预期数据,它将正常工作。
但你必须改变
ng-if="root.Location == null"
到
ng-if="!root.Location"
原因是root.Location以undefined
的形式出现,与null
不同。