2013-08-31 46 views
5

Làm cách nào tôi có thể trực tiếp AngularJS đồng hóa thuộc tính value vào mô hình? Bất kỳ trường nào mà tôi cung cấp thuộc tính ng-modelvalue ngay lập tức được thay thế bằng không có gì hoặc bất kỳ điều gì tôi xác định trong bộ điều khiển. Dưới đây là một số mã:AngularJS Sử dụng thuộc tính giá trị đầu vào

<form action="" method="post" ng-controller="PageCtrl"> 
    <input type="text" name="title" ng-model="title" value="Initial field value"> 
</form> 

Và Javascript ...

function PageCtrl($scope, Slug) { 
    $scope.title = null; 
} 

Tôi đã cố gắng không thiết $scope.title, đặt nó vào những thứ khác, nhưng không có vấn đề gì tôi làm, value là hoàn toàn bỏ qua . Tôi có thể làm gì?

Trả lời

5

Có, thuộc tính giá trị bị bỏ qua bởi angularjs có lợi cho mô hình ng. Nó chỉ tốt hơn là để loại bỏ giá trị từ đầu vào của bạn hoàn toàn để tránh nhầm lẫn.

Cách góc thiết lập giá trị mặc định sẽ là đặt $scope.title = 'Initial field value' bên trong bộ điều khiển của bạn và đó là cách thích hợp nhất để cấu trúc mọi thứ càng nhiều càng tốt. Nếu điều đó là không thể thì bạn có thể sử dụng ng-init trên đầu vào để làm điều tương tự, ví dụ:

<input type="text" name="title" ng-model="title" ng-init="title = 'Initial field value'"> 
+0

Trong trường hợp này, tôi đang tạo biểu mẫu có Rails. Làm thế nào bạn sẽ khuyên bạn nên nhận được dữ liệu đó để điều khiển cho dân số hình thức? – Jonah

+0

@Jonah Tôi không chắc vấn đề là gì? Bạn có thể đặt $ scope.title = "một số giá trị mặc định" hoặc bạn có thể đặt thuộc tính giữ chỗ trên đầu vào. Bạn đang thực sự cố gắng đạt được điều gì? Bạn có thể sử dụng tài nguyên $ http hoặc $ để giao tiếp với lớp dịch vụ. – shaunhusain

+0

@shaunhusain Tôi muốn có thể tự động điền biểu mẫu mà không có bất kỳ Javascript nào. Có vẻ như đây là chức năng cơ bản: ( – Jonah

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