最初未定义的ng-model在" new"形成

时间:2016-10-09 18:40:21

标签: angularjs

当我加载页面以添加新产品时,模型mv.product最初是未定义的,只有在我开始修改ng-model指令值时才会创建。

控制器:

function myController () {
    var vm = this;

    vm.saveProduct(product) {
        // save product who's properties were defined 
        // by the view's two way databindings

    }

}

查看:

<input ng-model="vm.product.someProperty">
<button ng-click="vm.saveProduct(vm.product)">

为什么不在我的控制器中定义模型的蓝图?喜欢:

vm.product ={ /* properties and their initial values */}

而不是通过视图的数据绑定来设计模型。

1 个答案:

答案 0 :(得分:0)

要初始化int[] numbers = new int[20]; // Here -----------^ numbers[0] = 0; numbers[1] = 1; 值,有两种方法:

  • 按照您提到的
  • 初始化控制器中的值
  • 在您的html ng-model
  • 中使用ng-init

根据Angular JS的最佳做法,理想情况下,您不应在视图中创建模型。应在控制器中创建模型,然后将其绑定在视图中。所以前提是有点不对劲。这是您在控制器中初始化范围变量的原因之一。