Breeze를 처음 사용하고 배우기위한 샘플을 만들고 있습니다. 나는 문제에 직면하고있다. 나는 내가 콜백 onsuccess는에게 전달하고 getTodoLists 지금 아래성공 후 UI가 데이터로 업데이트되지 않습니다.
sample.factory('datacontext', ['breeze', 'Q', '$timeout', '$q', function (breeze, q, timeout, $q) {
configureBreeze();
var manager = new breeze.EntityManager("/breeze/ProductsBreeze");
manager.enableSaveQueuing(true);
var datacontext = {
metadataStore: manager.metadataStore,
getTodoLists: getTodoLists
};
function getTodoLists(onsuccess) {
var query = breeze.EntityQuery.from("GetAllProducts");
manager.executeQuery(query).then(onsuccess);
};
return datacontext;
//function getSucceeded(data) {
// return data.results;
//}
function configureBreeze() {
breeze.config.initializeAdapterInstance("modelLibrary", "backingStore", true);
// configure to use camelCase
breeze.NamingConvention.camelCase.setAsDefault();
}
}]);
같은 서비스에서 데이터를 얻을 바람 코드를 추가하는 datacontext.js을 만들 수 있습니다. 여기에 지금 문제가 내가 사용하는 난 내 배열에 두 개의 레코드를 (콘솔에 표시)가 그 쇼 후 요청을 완료되었지만 UI가 업데이트되지되는 경우 내 컨트롤러
sample.controller('todoBreeze', ['datacontext', '$scope', '$log', function (datacontext, $scope, log) {
$scope.heading = "Hello World";
$scope.Products = [];
datacontext.getTodoLists(function (data) {
$scope.Products = data.results;
log.info($scope.Products);
});
$scope.editProduct = function (pid, index) {
};
$scope.deleteProduct = function (pid, index) {
};
}]);
입니다
<span>{{Products.length}}</span>
하지만 요청이 완료된 후 $scope.$apply()
으로 전화를하면 문제가 해결됩니다.
내 코드의 오류를 알려주십시오.
감사
아래
오류 : 알 수없는 공급자 : $ scopeProvider <- $ scope <- datacontext –
@RaviMittal rootscope를 사용하도록 코드가 변경되었습니다. – Jonas
오류 : $가 이미 적용 중입니다. –