[英]Accessing pre-filled input fields in controllers
在angularjs中訪問預填充輸入字段值的最佳方法是什么? 例如,如何訪問控制器范圍內的variable1的值(在pageload中預先填充)? 我在隱藏的輸入字段上使用ng-model指令,並使用$ scope.formData.variable1來訪問控制器,但沒有運氣。 我嘗試在網絡上搜索類似的問題,但是大多數示例與在提交或單擊時訪問表單字段有關。 這是plnkr的鏈接
<body ng-controller="MainController">
<h1>{{message}}</h1>
<form name="formData">
<input type="hidden" name="variable1" ng-model="formdata.variable1" value="abc" />
</form>
AngularJs代碼:
(function() {
var app = angular.module("testapp", []);
var MainController = function($scope) {
console.log($scope.formData.variable1);
$scope.message = "Hello, Angular!";
};
app.controller("MainController", ["$scope", MainController]);
}());
你可以做這樣的事情。 使用ng-init;
<input name="data[name]"
ng-model="data.name"
ng-init="data.name='mark'" />
要么
您可以使用指令。 這樣的事情。
app
.directive('ngDefaultValue', function() {
return {
restrict: 'A',
controller: function($scope, $element, $attrs, $parse) {
$parse($attrs.ngModel).assign($scope, $attrs.ngDefaultValue || $attrs.value);
}
};
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.