Итак, у меня есть пользовательская директива, которая заставляет http получать запросы и отображать их в другом шаблоне. Но ничего не показывает
Файл documentdisplay.js, в котором я создал директиву
/**
* @author Karan Shah
*
*/
var documentDisplayModule = angular.module('ald.documentdisplay',[]);
documentDisplayModule.factory('documentDisplayAPI',function(){
var fac ={};
fac.getContents = function($http,docName){
return $htp({
method: 'GET',
url: "/document/getContents/docName?="+docName
});
};
return fac;
});
documentDisplayModule.directive('doccontent', function () {
return {
restrict: 'EA',
scope: {},
replace: true,
link: function ($scope, element, attributes) {
},
controller: function ($scope, $http,$routeParams, documentDisplayAPI) {
documentDisplayAPI.getContents($http,$routeParams.doc).success(function(data,status){
$scope.textofdocument = data;
}).error(function(data,status){
if (404==status){
alert("no text");
} else {
alert("bad stuff!");
}
});
},
templateUrl: "documentcontent.html"
};
});
html-страница, на которую я это вызываю
<!-- @author Karan Shah -->
<body>
<div>
<h1>Document Display Contents</h1>
<doccontent/>
</div>
</body>
и templateUrl documentcontent.html, который имеет отображение
<body>
<div>
Hello World
<div>
<a href="#/documents">Back to the List of Documents</a>
</div>
<br>
{{textofdocument}}
</div>
</body>
ошибка, которую я получаю:
Error: [jqLite:nosel] Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element
http://errors.angularjs.org/1.2.21/jqLite/nosel
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.js:78:12
at JQLite (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.js:2365:13)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.js:6816:27
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.js:8074:11
at deferred.promise.then.wrappedCallback (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.js:11520:81)
at deferred.promise.then.wrappedCallback (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.js:11520:81)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.js:11606:26
at Scope.$RootScopeProvider.$get.Scope.$eval (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.js:12632:28)
at Scope.$RootScopeProvider.$get.Scope.$digest (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.js:12444:31)
at Scope.$RootScopeProvider.$get.Scope.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.js:12736:24)
Содержимое не отображается. Я не уверен, что здесь не так. Спасибо
return $htp
- person Malk   schedule 05.09.2014console.log
в функции ссылки и контроллера)? Во вкладке сеть запрос происходит? Что ты возвращаешь? В качестве примечания у вас не должно быть тега body в вашем шаблоне... - person Jason Goemaat   schedule 05.09.2014documentDisplayAPI
где-то использует селекторы jquery. - person Jason Goemaat   schedule 08.09.2014