Tôi đang cố gắng viết các kiểm tra cho một chỉ thị, vì vậy tôi đang xây dựng nó bằng tay với $compile
. (Có, tôi biết rằng tôi có thể sử dụng thử nghiệm e2e cho điều này, nhưng trong trường hợp này tôi muốn thử nghiệm một số logic độc lập DOM vì vậy tôi đang sử dụng phương pháp thử nghiệm đơn vị.)Lỗi: Biểu thức mô hình không thể gán: undefined
Tôi có một trường mà tôi đang ràng buộc với scope: {foo: '='}
. Khi tôi cố gắng đặt nó trên phạm vi của chỉ thị, tôi nhận được lỗi sau:
Error: Non-assignable model expression: undefined (directive: foo)
at Error (<anonymous>)
at $get.parentSet (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:4146:25)
at Object.<anonymous> (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:4160:23)
at Object.$get.Scope.$digest (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:7693:38)
at Object.$get.Scope.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:7894:24)
at SNAKE_CASE_REGEXP (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:930:13)
at Object.invoke (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:2788:25)
at bootstrap (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:928:12)
at angularInit (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:904:5)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:14397:5
Đã sao chép trong fiddle này.
Ngoài việc bình luận ra 1 dòng tại một thời điểm và làm mới, bạn có thể cho biết yếu tố phạm vi nào mà nó phàn nàn? Nó không được nêu trong thông báo lỗi cho lỗi này. Chỉ có tên chỉ thị tổng thể. Ví dụ OP là hiển nhiên, nhưng nếu nó xảy ra với một chỉ thị có nhiều ràng buộc? –
@JoshRibakoff Một cách là để ném một breakpoint trong mã Angular và kiểm tra các biến để xem tham số nào mà nó đang tìm kiếm trong 'nodeLinkFn' - cụ thể, biến' definition' phải chứa thông tin hữu ích. – cincodenada