ng-model在角度js中不起作用

时间:2016-06-09 13:20:43

标签: javascript angularjs data-binding

我从api生成html但我无法从数据绑定中获取其值。 HTML

<div class="content-fluid ng-scope" id="angular_template">
        <div class="row">
            <div class="col-md-6">
                <label class="col-md-12">First Name</label>
                <input type="text" ng-model="frm1.first_name" class="textboxStyle col-md-6 form-control" placeholder="first name">
            </div>
            <div class="col-md-6">
                <label class="col-md-12">Last Name</label>
                <input type="text" ng-model="frm1.last_name" class="textboxStyle col-md-6 form-control" placeholder="last name">
            </div>
        </div>
    </div>
<input type="button" ng-click="save(frm1)" value="Submit" />

控制器:

mod.controller('CreateSimpleFormController', function($scope, $http) {
    $http.get('<url>').success(function(response) {
    var angularTemplate = response;// html string
            document.getElementById("angular_template").innerHTML = angularTemplate;
    }).error(function(error) {
        console.log('error', error);
    }).finally(function() {}); 

    $scope.save = function(data){
        console.log(data);
        console.log($scope.frm1.first_name);
    }
});

当我点击提交按钮时,我得到了未定义。请帮助我出错的地方。

2 个答案:

答案 0 :(得分:0)

$ scope.frm1是你必须在控制器中定义的东西。如果您的html输出有任何文本,并且您希望与模型变量绑定,则不会发生这种情况。 Angular评估模板,看它没有定义变量,所以会把它变成空白(忽略当前文本值)

答案 1 :(得分:0)

如果要使用点(。)值,则必须在使用前声明它。

mod.controller('CreateSimpleFormController', function($scope, $http) {
  $scope.frm1 ={};
  ...
}