2013-07-18 36 views

Trả lời

102

Bạn có thể liên kết với một biến trong điều khiển:

<input type="text" ng-model="inputText" placeholder="{{somePlaceholder}}" /> 

Trong bộ điều khiển:

$scope.somePlaceholder = 'abc'; 
+0

nó hoạt động, tuy nhiên, toàn bộ biểu thức là có thể nhìn thấy cho người dùng cuối cho một sự chậm trễ ngắn. Đó là lý do tại sao có ng-ràng buộc. Xem https://docs.angularjs.org/api/ng/directive/ngBind –

+7

Ngoài ra, sẽ không hoạt động trong IE, sẽ xảy ra lỗi. Có lẽ lý do tương tự tại sao syle = "{{}}" không được khuyến khích: https://docs.angularjs.org/guide/ie – velochy

+0

@ BùiThanhHải chính xác làm thế nào bạn sẽ sử dụng ng-ràng buộc trong tình huống này? Có một mẫu mã? –

7

Kể từ AngularJS không có thao tác chỉ DOM như jQuery có, một cách thích hợp để thay đổi các thuộc tính của một phần tử sẽ sử dụng chỉ thị. Thông qua chức năng liên kết của một chỉ thị, bạn có quyền truy cập vào cả phần tử và thuộc tính của nó.

Bao gói toàn bộ đầu vào bên trong một chỉ thị, bạn vẫn có thể giới thiệu các phương thức của mô hình ng thông qua thuộc tính bộ điều khiển.

Phương pháp này sẽ giúp phân tách logic của ngmodel với trình giữ chỗ từ bộ điều khiển. Nếu không có logic giữa chúng, bạn chắc chắn có thể đi như Wagner Francisco nói.

3

Như Wagner Francisco cho biết, (trong JADE)

input(type="text", ng-model="someModel", placeholder="{{someScopeVariable}}")` 

Và trong điều khiển của bạn:

$scope.someScopeVariable = 'somevalue' 
+5

@cpburnz - Điều này có vẻ như một nỗ lực hợp lý khi trả lời câu hỏi cho tôi. Nếu bạn không thích nó, bạn nên downvote nó, không đánh dấu nó để xóa. – ArtOfWarfare

+0

Thats chính xác câu trả lời giống như @Wagner Francisco –

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