Nếu bạn nhìn vào mã nguồn, chức năng get
chỉ cần gọi đến this.attributes[name]
.
http://backbonejs.org/docs/backbone.html#section-31
Lợi ích, tuy nhiên, ít nhất là hai lần:
1) một API phù hợp làm giảm số lượng mã bạn đang viết
2) khả năng để ghi đè lên Phương pháp get
và cung cấp điều khiển truy cập phức tạp hơn
Ví dụ, có một số bổ trợ cho xương sống ghi đè cách thức hoạt động của mô hình nhằm cung cấp khả năng mô hình lồng nhau. nó rất dễ dàng cho họ để cho phép bạn viết một phương thức get như thế này:
model.get("submodel.attr")
và có mà phân tích ra các attr
của submodel
tiểu mô hình. Nếu không có phương thức get, nó sẽ khó khăn hơn để làm cho điều này phù hợp với API.
Lợi ích cơ bản từ việc này là đóng gói. Cho đến khi JavaScript cung cấp các thuộc tính get/set đúng cho phép chúng ta viết mã cho các getters và setters, chúng ta sẽ bị mắc kẹt với các phương thức work-around như Backbone's get
và set
.
Nguồn
2012-03-19 00:38:54
Bạn có thể làm rõ cách 'user.get ('name')' vs 'user.name' làm giảm số lượng mã không? –
Tôi đoán anh ta có nghĩa là bạn sử dụng 'user.get ('name')' thay vì 'user.attributes ['name']' dài hơn. Tuy nhiên, để truy cập vào các mô hình lồng nhau, tôi sẽ sử dụng cú pháp này: 'user.attributes.name.first' – orad