访问控制器中的预填充输入字段

时间:2015-05-11 18:27:20

标签: javascript angularjs

在angularjs中访问预填充输入字段值的最佳方法是什么?例如,如何在控制器范围内访问variable1的值(在页面加载中预先填充)?我在隐藏的输入字段上使用ng-model指令,并使用$ scope.formData.variable1在控制器中访问但没有运气。我尝试在网上搜索类似的问题,但大多数示例都与提交或点击时访问表单字段有关。 Here是指向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]);

}());

1 个答案:

答案 0 :(得分:1)

你可以这样做。使用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);
    }
  };
});