0

在 AngularJS 中,我输入了由 php 填充的输入,如下所示:

<form method="post" ng-controller="PostCtrl">
 <input type="text" name="post_title" ng-model="post_title" />
</form>

现在在我的控制器中,我从不指定 ng-model,所以我假设我有一个空控制器:

EngagementApp.controller('PostCtrl', ['$scope',
function($scope) {

    return function($scope) {

    }
}]);

我遇到的问题是任何与 ng-model 自动关联的东西都会被空值替换。我的问题是,如果控制器中没有设置任何值,我该如何阻止默认的 php 值被替换?

4

2 回答 2

2

您可以使用 ng-init 设置初始值。例如

<input type="text" name="post_title"
 ng-model="post_title" ng-init="post_title='<?$=phpValue;?>'" />

AngularJS 忽略了 HTML value 属性。

于 2013-10-14T15:35:48.650 回答
0

您应该可以从控制器中获取默认值:

$scope.post_title = 'default value';

但是在这种特殊情况下,使用ng-init (如@Thomas 建议的)从 html 初始化模型更有意义。

于 2013-10-14T15:36:05.300 回答