在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值?
答案 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初始化模型在这种特殊情况下更有意义。