之前只在ruby on rails中用过AngularJS,也没出啥问题,但是相似的代码放到laravel中就一直报错:Call to undefined function fullname(),一开始还以为是自己引用angular.js文件没成功,但看了下报错是:[$injector:modulerr],后来才意识到可能AngularJS的{{ }}和laravel的{{ }}冲突了。
以下是我原先的html代码:
<div ng-app="myApp" ng-controller="myCtrl">
<input type="text" ng-model="firstname"></input>
<input type="text" ng-model="lastname"></input>
{{fullname()}}
</div>
以下是js代码:
var app = angular.module('myApp',[]);
app.controller('myCtrl',function($scope){
$scope.firstname="elaine";
$scope.lastname="zhang";
$scope.fullname = function() {
return $scope.firstname + " " + $scope.lastname
}
})
以下是我修改后的代码:
<div ng-app="myApp" ng-controller="myCtrl">
<input type="text" ng-model="firstname"></input>
<input type="text" ng-model="lastname"></input>
<span ng-bind="fullname()"></span>
</div>
修改后刷新了一下,可以正常显示了。