it-swarm.dev

تغيير قيمة العنصر النائب المدخلات عبر النموذج؟

أحاول تغيير قيمة عنصر نائب الإدخال من وحدة تحكم ولكن لا يمكنني معرفة كيف.

input(type='text', ng-model='inputText', side='30', placeholder='enter username')

هل هناك طريقة لتعديل سمات عنصر النموذج؟

61
Jonah Katz

يمكنك الربط مع متغير في وحدة التحكم:

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

في وحدة التحكم:

$scope.somePlaceholder = 'abc';
120
Wagner Francisco

الإجابة المقبولة لا تزال تلقي خطأ Javascript في IE بالنسبة لي (لـ Angular 1.2 على الأقل). إنه خطأ ولكن الحل البديل هو استخدام ngAttr المفصل على https://docs.angularjs.org/guide/interpolation

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

المشكلة: https://github.com/angular/angular.js/issues/5025

20
ysub

نظرًا لأن AngularJS لا تحتوي على معالجة DOM توجيهية مثل jQuery ، فإن الطريقة المناسبة لتعديل سمات عنصر واحد سوف تستخدم التوجيه. من خلال وظيفة الارتباط الخاصة بالتوجيه ، يمكنك الوصول إلى كل من العنصر وسماته.

عند التفاف المدخلات بالكامل داخل توجيه واحد ، لا يزال بإمكانك تقديم أساليب طراز ng من خلال خاصية التحكم.

ستساعد هذه الطريقة على فصل منطق ngmodel مع عنصر نائب من وحدة التحكم. إذا لم يكن هناك منطق بينهما ، يمكنك بالتأكيد الذهاب كما قال فاغنر فرانسيسكو.

7
Z.T. Yang

كما قال فاغنر فرانسيسكو ، (في JADE)

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

وفي وحدة التحكم الخاصة بك:

$scope.someScopeVariable = 'somevalue'
4
amit_kenny