【问题标题】:Bind value of an input in controller- AngularJS在控制器中绑定输入值 - AngularJS
【发布时间】:2017-02-20 10:10:26
【问题描述】:

我正在使用 JSP 和 Angular JS。我有一个带有隐藏输入字段的 JSP 页面。会话属性设置为其值如下。

  String policy = (String)session.getAttribute("POLICY_CHANGE");

  <input type="hidden" value="<%=policy%>" name="policy" ng-model="$scope.policyChange" />

如何将输入字段的值绑定到控制器中的变量 $scope.policy

JS

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
   $scope.policyChange= ; // i want to bind the input field value here.
});

【问题讨论】:

标签: javascript angularjs jsp angularjs-directive


【解决方案1】:

您可以为您的input 设置ng-model 指令:

 <input type="hidden" value="<%=policy%>" name="ng2_session" ng-modal="vm.policyChange" ng-model="policy" ng-init="policy='<%=policy%>'" />

在控制器中你必须使用watch 方法。

$watch 有助于监听 $scope 的变化

JS

 app.controller('myCtrl', function($scope) {
   console.log($scope.policy); // i want to bind the input field value here.
 });

简单示例:

function MyCtrl($scope) {
   $scope.$watch('policy', function() {
      console.log($scope.policy);
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app>
  <h2>Todo</h2>
  <div ng-controller="MyCtrl">
      <input type="text" ng-model="policy" ng-init="policy='Bob'"/>
  </div>
</div>

注意:通常,watch 方法在 $scope.variable 更改时想要运行 some 代码时非常有用。

【讨论】:

    猜你喜欢
    • 2017-06-10
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多