我有一个HTML表单。我可以用这种形式成功地使用angular js。但是当我使用laravel表单生成器转换表单字段时,我得到了一个错误。
这是我简单的HTML和AngularJs,它工作得很好
var app = angular.module('mainApp', []);
app.controller('availableDay', function($scope) {
$scope.dayfrom = "";
$scope.dayto = "";
$scope.dayfull = function() {
return $scope.dayfrom + "-" + $scope.dayto;
}
});
<div class="form-group">
<div class="row" ng-app="mainApp" ng-controller = "availableDay">
<div class="col-lg-12">
<h4 class="page-header">Available in a week</h4>
<div class="col-lg-6">
<div class="form-group">
<label>Day From</label>
<select class="form-control" ng-model = "dayfrom">
<option>Monday</option>
<option>Tuesday</option>
<option>Wednesday</option>
<option>Thursday</option>
<option>Friday</option>
<option>Saturday</option>
<option>Sunday</option>
</select>
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label>Day To</label>
<select class="form-control" ng-model="dayto">
<option>Monday</option>
<option>Tuesday</option>
<option>Wednesday</option>
<option>Thursday</option>
<option>Friday</option>
<option>Saturday</option>
<option>Sunday</option>
</select>
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<label>Available Day</label>
<input class="form-control" type="text" value="{{dayfull()}}">
</div>
</div>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
但是当我要用laravel form builder转换它时,出现了一个错误
语法错误,意外'}'
var app = angular.module('mainApp', []);
app.controller('availableDay', function($scope) {
$scope.dayfrom = "";
$scope.dayto = "";
$scope.dayfull = function() {
return $scope.dayfrom + "-" + $scope.dayto;
}
});
<div class="form-group">
<div class="row" ng-app="mainApp" ng-controller = "availableDay">
<div class="col-lg-12">
<h4 class="page-header">Available in a week</h4>
<div class="col-lg-6">
<div class="form-group">
{{ Form::label("day from","Day From ") }}
{{ Form::select('day_from', [
'Monday' => 'Monday',
'Tuesday' => 'Tuesday',
'Wednesday' => 'Wednesday',
'Thursday' => 'Thursday',
'Friday' => 'Friday',
'Saturday' => 'Saturday',
'Sunday' => 'Sunday'], null, ['class' => 'form-control',
'ng-model' => 'dayfrom']
) }}
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
{{ Form::label("day to","Day To ") }}
{{ Form::select('day_to', [
'Monday' => 'Monday',
'Tuesday' => 'Tuesday',
'Wednesday' => 'Wednesday',
'Thursday' => 'Thursday',
'Friday' => 'Friday',
'Saturday' => 'Saturday',
'Sunday' => 'Sunday'], null, ['class' => 'form-control',
'ng-model' => 'dayto']
) }}
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
{{ Form::label("available day","Available Day ") }}
{{ Form::text("available_day", {{dayfull()}}, ["class" => "form-control"]) }}
</div>
</div>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
如何在Laravel表单构建器中使用AngularJs函数{{dayfull()}} ?
这里的部分问题是您不能以这种格式使用它。blade和angularjs的标记冲突,如下所示。你可以绕过它的一种方法是连接标记,这样当它返回时,angularjs应该处理它:
{{ Form::text("available_day", '{{'.'dayfull()'.'}}', ["class" => "form-control"]) }}