페이지에서 AngularJs와 Pjax를 모두 사용하고 있습니다.AngularJs는 pjax 이후 작동을 멈 춥니 다.
내 페이지의 일부가 Pjax로 다시로드 된 후 Angularjs가 작동을 멈 춥니 다.
단순한 {{2 + 2}}는 pjax로 다시로드 된 부분을 제외한 모든 부분에서 작동합니다.
나는 문제가 $ compile을 사용하고 있음을 발견했다.
다른 코드 스 니펫을 시도했지만 그 중 아무 것도 나를 위해 일하지 않았습니다.
어느 쪽이 하나
angular.element(document).ready(function() {
angular.bootstrap(document);
});
도이
// outside of angular...
var ngRefresh = function() {
var scope = angular.element("body").scope();
var compile = angular.element("body").injector().get('$compile');
compile($("body").contents())(scope);
scope.$apply();
}
// PJAX
$('#page').on('pjax:success', function(e){
ngRefresh();
});
코드 조각은 날 위해 일했습니다. 아무도 작동하는 해결책을 알고 있습니까?
UPD : PSL이 $ ("body")를 $ (document.body)로 변경하면 코드가 작동하기 시작합니다. 하지만 이제는 모든 것이 처음부터 초기화되고 모든 pjax 호출 후에 내 데이터 (예제에서 선택한 이미지)가 느슨합니다. 어떻게 이것을 피할 수 있습니까?
이 내 JS 파일입니다
app = angular.module("BlogImageApp", []);
app.controller("BlogImageController", function($http, $scope){
$scope.selectedImageId = null;
$scope.selectedImageUrl = "";
$scope.selectImage = function(image_id) {
$scope.selectedImageId = image_id;
var params = 'id='+image_id;
$http.get('/blog/image/get-url-by-id?'+params).success(function(data){
$scope.selectedImageUrl = data;
});
}
});
// registers the BlogImageApp in the view
angular.bootstrap(document, ['BlogImageApp']);
콘솔에 오류가 있습니까? – tymeJV
__ ^^ __ 그리고 너는 너의 관점에서 ng-app을 가지고 있지 않니? – PSL
@tymeJV 예, 약간의 오류가 있습니다. 그러나 나만큼 유익하지 않습니다. 오류 : [jqLite : nosel] _HTTP : //errors.angularjs.org/1.2.27/jqLite/nosel 다음 코드 전체 텍스트 장소에 대한 포인터 : 오류 : [jqLite : nosel] HTTP : //errors.angularjs.org/1.2.27/jqLite/nosel \t ... gify (인수 [c]) : 인수 [c]); 반환 오류 (a)}} 함수 Sa (b) { 경우 (NULL == B || 응 (... \t angular.min.js (6 호선, COL 449) –