无法访问AngularJS控制器内的表单

huuuk

当我尝试通过$ scope.locationForm访问它时,无法从我的控制器访问表单变量,但是我调用了console.log($ scope),但我在控制台中看到有loactionForm。

我的HTML代码

<div ng-controller="LocationsController as ctrl">   
<form class="form-inline" name="locationForm">
    <div class="form-group">
        <!-- <div class="input-group"> -->
            <label for="location-name">Название населенного пункта</label>
            <input required
                   name="name"
                   ng-model="ctrl.location.name" type="text" class="form-control" id="location-name" placeholder="Название населенного пункта">
            <label for="location-name">Район</label>
            <select required
                    name="region_id" 
                    ng-model="ctrl.location.region_id" 
                    ng-options="region.id as region.name for region in ctrl.regions" class="form-control" placeholder="Название района"></select>
            <input ng-click="ctrl.save()"
                   ng-disabled="locationForm.$invalid" type="submit" class="btn btn-default" value="Cохранить">
            <a class="btn btn-default" ng-click="ctrl.reset()" ng-show="locationForm.$dirty">Сброс</a>
        <!-- </div> -->
    </div>
</form>

我的控制器代码:

function LocationsController($scope, Location, Region, $q) {
var lc = this,
    l_index;
  lc.form ={};
  lc.regions = lc.locations = [];
  lc.regions = Region.query();
  lc.regions.$promise.then(function(data) {
      lc.locations = Location.query();
  });
  lc.getRegion = function (id) {
    return lc.regions.filter(function(obj) {
        return obj.id == id;
    })[0].name;
  };
  console.log($scope);
  // console.log($scope.locationForm);
  lc.reset = function () {
      lc.location = new Location;
  }
  lc.reset();

};

阿伦·P·约翰尼(Arun P Johny)

问题是,LocationsController初始化时,form元素尚未编译。因此,一种可能的破解方法是使用类似

function LocationsController($scope, Location, Region, $q, $timeout) {
    //then later
    $timeout(function(){lc.reset();})
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我无法访问控制器中的容器

来自分类Dev

无法访问导航控制器的后退按钮

来自分类Dev

Angular Ui路由器无法访问我控制器内的$ stateParams

来自分类Dev

PHP MVC无法访问控制器

来自分类Dev

无法访问控制器方法

来自分类Dev

CodeIgniter控制器无法访问

来自分类Dev

Rails-无法访问控制器中的参数

来自分类Dev

控制器无法访问Angular Service变量

来自分类Dev

Spring Boot无法访问REST控制器

来自分类Dev

我无法访问控制器中的容器

来自分类Dev

无法访问父控制器作用域(AngularJS)

来自分类Dev

无法访问模型中的控制器变量

来自分类Dev

控制器无法访问子模型发布

来自分类Dev

Angular Ui路由器无法访问我的控制器内的$ stateParams

来自分类Dev

AngularJS-指令无法访问所需的祖先控制器

来自分类Dev

在控制器中无法访问Rails POST参数

来自分类Dev

无法访问控制器(Laravel)中的变量

来自分类Dev

Rails-无法访问控制器中的参数

来自分类Dev

无法访问指令控制器上的表单状态

来自分类Dev

控制器无法访问Angular Service变量

来自分类Dev

无法访问控制器中的服务

来自分类Dev

无法访问控制器响应的正确内容

来自分类Dev

无法访问控制器中的获取变量

来自分类Dev

无法从控制器angularjs访问服务

来自分类Dev

无法访问其他控制器的字段

来自分类Dev

无法访问 AngularJs 控制器内的代码

来自分类Dev

无法访问 angularjs 控制器中对象的属性,但能够从 HTML 访问它

来自分类Dev

无法访问同一控制器中的范围:AngularJS

来自分类Dev

无法从 AngularJS 中的控制器访问表单