对动态创建的 HTML 元素使用 ng-model



我已经动态创建了div元素,因为按钮有一个元素,所以我想通过ng模型使用它的值,但值没有出现。

我的代码是:

var url = "/api/chatBot/chatBot";
$http.post(url,data)
.success(function(data){
$scope.messageToShow = data.messageText;
$scope.forButtons = data.actions;
console.log("Message ::", $scope.messageToShow);
console.log("actions ::", $scope.forButtons[1].value);
var x='';
for(var i = 0 ; i<data.actions.length; i++) {
x= x + "<a ng-model = 'buttons' class = 'btn btn-outline btn-primary btn-xs btn-rounded pull-right' value ="+$scope.forButtons[i].value+" ng-click = 'submitForButton()'>"+$scope.forButtons[i].text+"</a>"
}
var newEle = angular.element("<div class='message' ><a class='message-author' ng-model='author'> Bot </a>
<span class='message-content' ng-model='messageContent'>"+$scope.messageToShow+"
"+x+"</span> </div><br />");
var target = document.getElementById('messageDiv');
var temp = $compile(newEle)($scope);
angular.element(target).append(temp);
$scope.message = "";
}) .error(function(){
console.log("ERROR in bot controller");
})

}

所以当我在做

console.log($scope.buttons) // its coming undefined.

所以我做错了哪里。

谢谢

你应该先在控制器上声明$scope.buttons = '',之后,你可以将其用作ng模型

您也可以尝试使用ng-value ="+$scope.forButtons[i].value+"

最新更新