2016-03-17 37 views
0

我想在页面加载时启动ng-init。我有task.idRestangular获取和我的HTML是:Angularjs中的动态ng-init设置值

<textarea rows="5" ng-model="comment.comment_text"></textarea>{{task.id}} 
<input type="hidden" ng-model="comment.task_id" ng-init="comment.task_id = $scope.task.id"> 
<button type="submit" class="btn btn-success" ng-click="create(comment)">Send</button> 

和角度控制器:

$scope.create = function(comment) { 
    console.log(comment); 
}; 

当点击按钮显示结果控制台:

{comment_text: "test", task_id: undefined } 

但我想如下所示:

{comment_text: "test" ,task_id:53} 
+1

它应该是'NG-INIT = “comment.task_id =任务。 id“''不适用'范围' –

+0

我测试但不起作用 –

+0

您可以分享您的完整代码给您建议 –

回答

1

尝试:

ng-init="comment.task_id = task.id" 

或者可以从控制器

$scope.comment.task_id =$scope.task.id 

或输入值

<input type="hidden" ng-model="comment.task_id" value="{{task.id}}" /> 
+0

不,不起作用 –

+0

是否存在$ scope.task.id? –

+0

是的,只是取数据库 –

0

设置尝试

<textarea rows="5" ng-model="comment.comment_text"></textarea>{{task.id}} 
<input type="hidden" ng-model="comment.task_id" ng-init="comment.task_id = task.id"> 
<button type="submit" class="btn btn-success" ng-click="create(comment)">Send</button> 
+0

不,它不起作用 –

+0

我解决了添加'ng-if =“task.id!== undefined”'的问题。如何在没有'ng-if'的情况下解决问题 –