【问题标题】:AngularJS clears input fields populated with Laravel form model bindingAngularJS 清除使用 Laravel 表单模型绑定填充的输入字段
【发布时间】:2016-02-22 18:10:31
【问题描述】:

我是 AngularJS 的新手,我在 Laravel 工作。当我使用 Laravel 表单模型绑定填充输入字段并在输入字段上设置 ng-model="title" 时,AngularJs 会清除填充的输入并将其值设置为 '';

当我评论 ng-model="title" 时,会填充字段。 在页面加载几毫秒时,输入字段被填充,我认为当 AngularJS 初始化 $scope 时,输入字段变为空。

我在 Angular 中没有任何 controller,当我将 Angular 添加到页面时,会出现此问题。

如何防止 Angular 清除为编辑操作而填充的输入字段?

【问题讨论】:

  • Angular 将清除输入字段,因为 $scope.title 未初始化?如果您没有控制器,则 $scope 不可用,因此变量 'title' 也将不可用,它只是 ''。尝试实现一个控制器,它应该可以工作。
  • 您也可以将数据传递给 Angular 并在客户端初始化。看看这个包:github.com/laracasts/PHP-Vars-To-Js-Transformer
  • @CodeNashor 我不需要控制器,因为我的输入字段是在没有 AngularJS 的情况下填充的。我认为有一种简单的方法可以防止角形清除输入字段。

标签: angularjs laravel


【解决方案1】:

我找到了一个很好的答案。我们应该通过ng-init 指令在输入元素上设置值。因此值可以在范围内访问,并且输入字段将被填充:

<input ng-model="title" ng-init="title='{{ $title = $post->title }}'" value="{{ $title }}" type="text">

现在我使用这个解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-23
    • 2013-09-27
    • 2015-03-30
    • 2017-01-17
    相关资源
    最近更新 更多