2016-01-21 33 views
5

Nếu gần đây bạn đã cập nhật restangular qua bower, nó sẽ cài đặt bản lodash mới nhất - 4.0 mới. Tuy nhiên, đây là một vấn đề như hiện tại/góc cạnh/hiện tại ném lỗi - "_.contains() không phải là một hàm."Restangular - _.contains() không phải là chức năng

Bạn giải quyết bằng cách nào?

Trả lời

7

Giải pháp này rất đơn giản - bạn cần phải nói cho restangular sử dụng một phiên bản thấp hơn lodash mới nhất - 3.10.0

Qua bower.json

"lodash": "~3.10.0" 

https://github.com/mgonto/restangular/issues/1298

+1

Removed 17 bí danh _.all, _.any, _.backflow, _.callback, _.collect, _.compose, _.contains, _.detect, _.foldl, _.foldr, _.include, _.inject, _.methods, _.object, _. # run, _.select, & _.unique –

3

couldn' t bạn đặt điều này trong app.js

// If Restangular ever updates to lodash 4.0 remove this. 
_.contains = _.includes 
+0

Có một chút mùi mã với nó ... imo. –

+0

bạn thực sự có thể thực hiện điều này _.contains = _.includes; xem lodash.js và mapping.js trong lodash. Tôi nghĩ đó là những gì họ đang làm ở đây. lodash.js lodash.each = forEach; mapping.js 'forEach': ['each'] Tôi chỉ muốn thay vào đó cho đến khi nó được cố định thay vì hạ cấp mọi thứ của tôi theo một phương pháp. –

4

Nếu bạn chưa xác định chỉnh sửa mục nhập cho lodash một cách rõ ràng và cài đặt này được cài đặt dưới dạng phụ thuộc của restangular, bạn có thể gỡ cài đặt cả hai và cài đặt lại lodash (3.10.1) để khắc phục sự cố.

bower uninstall restangular 
bower uninstall lodash 
bower install --save lodash#3.10.1 
bower install --save restangular 

Bằng cách này, bạn sẽ không cần nhập cảnh vào tệp bower.json.

Nguồn: https://github.com/mgonto/restangular/issues/1294

Các vấn đề liên quan