Я пытаюсь получить динамические данные из json в соответствии с результатами $http
, но это не работает для меня. Я думаю, что проблема связана с обратным вызовом. Я имею в виду, что код запускается на json-результаты, когда мои $http
продолжают работать. Это мой Javascript код:json не работает для меня в угловом
var operation_types = operation_types = [
{nav_id: 1, nav_name: "Validation", nav_src: "validation", nav_href: "validation_list"},
{nav_id: 2, nav_name: "Guests", nav_src: "guests", nav_href: "guests_list"}
];
angular.module("mainApp", ["kendo.directives"])
.controller("HomepageCtrl", function ($scope,$http) {//Homepage
/*receive user properties*/
$http({
url: 'API/v1/User/GetUserInfo',
method: "GET",
headers: { 'Content-Type': 'application/json' }
}).success(function (data, status, headers, config) {
if (data.Code != 1) {
$scope.error = "Please enter valid username and password!";
} else {
console.log(data);
if(data.viewGuest==true&&data.viewValidation==true){
$scope.source =operation_types;
}else if(data.viewGuest==false){
source = operation_types[0];
}else if(data.viewValidation==false){
source = operation_types[1];
}
//window.location.href = "homepage.html";
}
}).error(function (data, status, headers, config) {
$scope.error = "There are problems with connection to server. Status:" + status + " Please, try to connect later.";
$scope.validationClass = "invalid";
});
$scope.source =operation_types;
})
Это соответствующий фрагмент моего HTML кода (с кендо UI):
<kendo-mobile-list-view k-data-source="source">
<div class="product" k-template>
<a href="\#{{dataItem.nav_href}}">
<img src="images/{{dataItem.nav_src}}.jpg" alt="{{dataItem.nav_name}} image" class="pullImage"/>
<h3>{{dataItem.nav_name}}</h3>
</a>
</div>
</kendo-mobile-list-view>
Знает ли кто, как сделать это в угловой?
Я должен хранить 'var operation_types;' внутри контроллера как '$ scope.source = [];' – Saqueib
Замечание по архитектуре: получение данных не должно выполняться непосредственно в контроллере, а в сервисе или на заводе. вы затем получаете доступ к службе, хотя контроллер. см. http: // stackoverflow.ком/вопросы/17646034/что-это-на-передовой опыт-для решений-ан-АЯКС-вызов в-углового-JS – Alex