Angular:如何使用默认值初始化textarea

时间:2015-04-18 23:53:14

标签: html angularjs

我构建了一个显示消息的应用,当用户按下edit时,我想要使用它初始化消息textarea我创建了一个名为notification的工厂从我的数据库和控制器中获取消息我称之为工厂:

  $scope.notification = notification.getNotification($stateParams.id);
  $scope.notification.then(
    function(notification) {
      $scope.notification = notification;
      console.log($scope.notification.message);
    },
    function(response) {
      console.log('error fetching the notification', response);
    }
  );

和HTML:

<textarea ng-model="item.message" class="form-control" ng-init="item.message={{notification.message}}"></textarea>

textarea保持空白,这是我在元素检查员中得到的:

<textarea ng-model="item.message" class="form-control ng-pristine ng-untouched ng-valid" ng-init="item.message=hello"></textarea>

1 个答案:

答案 0 :(得分:0)

ng-init有一个带有ng-repeat的特殊用例,请参阅ng-init文档,了解它的用途。

您应该将item.message设置为控制器中正在处理视图此部分范围的某个值。基本上设置:

$scope.item = {message:$scope.notification.message};

或者$ scope.item已经是一个对象:

$scope.item.message = $scope.notification.message;