AngularJS停止替换默认输入值

时间:2013-10-14 15:28:37

标签: javascript php angularjs

在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 automaticcaly的东西都会被替换为空值。我的问题是,如果没有设置控制器中的值,如何停止替换默认的php值?

2 个答案:

答案 0 :(得分:2)

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

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

AngularJS会忽略HTML值属性。

答案 1 :(得分:0)

您应该可以使用控制器的默认值:

$scope.post_title = 'default value';

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