Sau khi nghiên cứu các dự án khác nhau và đọc nhiều tài liệu như tôi có thể xử lý, tôi đã gặp sự cố với cách đưa chỉ thị vào ứng dụng của mình. Ứng dụng được thiết lập như sau:Góc - Chỉ thị và sử dụng Mô-đun
app.js - chỉ cần phần trên
angular.module('ngDashboard', ['ngCookies','ngResource','ngDashboard.filters', 'ngDashboard.services', 'ngDashboard.directives'])
Tất cả các module hoạt động tốt trừ (nó là một ứng dụng được viết lại từ một ví dụ) cho các chỉ thị mà don' t làm việc tại tất cả:
directives.js - sau đây kHÔNG làm việc và không thực hiện các chỉ thị về việc xem:
angular.module('ngDashboard.directives', []).
directive('funkyElement', function() {
return {
restrict: 'E',
transclude: true,
scope: 'isolate',
template: '<div>gonna parse this: {{orig}} <br/>... and get this: {{obj}}</div>',
//templateUrl: 'template.html',
compile:function (element, attr, transclusionFunc) {
return function (scope, iterStartElement, attr) {
var origElem = transclusionFunc(scope);
var content = origElem.text();
scope.orig = content;
scope.obj = my_custom_parsing(content);
};
}
};
});
sau đây trong file directives.js cùng làm hoạt động đúng và chỉ thị thực hiện:
angular.module('ng').directive('funkyElement', function() {
return {
restrict: 'E',
transclude: true,
scope: 'isolate',
template: '<div>gonna parse this: {{orig}} <br/>... and get this: {{obj}}</div>',
//templateUrl: 'template.html',
compile:function (element, attr, transclusionFunc) {
return function (scope, iterStartElement, attr) {
var origElem = transclusionFunc(scope);
var content = origElem.text();
scope.orig = content;
scope.obj = my_custom_parsing(content);
};
}
};
});
HTML rất đơn giản:
<funky-element>
Parse me... come ooooon! Just parse meee!
</funky-element>
Câu hỏi của tôi là, cách thích hợp để bao gồm một tập hợp các chỉ thị và có lẽ lý do tại sao là gì ví dụ đầu tiên (sử dụng ngDashboard.services) không hoạt động.
Bạn có thể gửi người gửi thư với mã trực tiếp không? Đó là bên cạnh không thể nói những gì đang xảy ra mà không nhìn thấy mã nhiều hơn nữa. Dựa trên những gì tôi có thể thấy cho đến nay, tôi cho rằng bạn không khởi tạo ứng dụng của mình bằng cách sử dụng 'ng-app =" ngDashboard "' hoặc có những thứ lộn xộn khi bao gồm các tệp. Một lần nữa, mã trực tiếp sẽ hiển thị rõ ràng tất cả điều này. –
Tôi sẽ đăng một số mã trực tiếp, nhưng toàn bộ ứng dụng hoạt động tốt, tất cả các dịch vụ, bộ điều khiển, điều duy nhất không hoạt động đúng là chỉ thị. – lucuma
Đó là tệp app.js được lưu trong bộ nhớ cache hoặc tôi không nhấn lưu sau khi thêm phụ thuộc chỉ thị. Sau khi rối tung với nó quá lâu, tôi nghi ngờ rằng nó không được cứu nhưng tôi mở ra khả năng đó. – lucuma