Jquery Angular MVC将Angular Controller移动到分离文件。。现在如何加载@Model?
我正在使用Angular和MVC 我在html页面上用 @模型包含我用于$scope主模型的模型数据Jquery Angular MVC将Angular Controller移动到分离文件。。现在如何加载@Model?,jquery,asp.net-mvc,angularjs,asp.net-mvc-4,Jquery,Asp.net Mvc,Angularjs,Asp.net Mvc 4,我正在使用Angular和MVC 我在html页面上用 @模型包含我用于$scope主模型的模型数据 <script> var runApp = angular.module('runApp', []); runApp.controller('DistanceController', function($scope, $http) { $scope.running = @Html.Raw(Json.Encode(Model)); $scope.err
<script>
var runApp = angular.module('runApp', []);
runApp.controller('DistanceController', function($scope, $http) {
$scope.running = @Html.Raw(Json.Encode(Model));
$scope.errorMessage = @Html.Raw(Json.Encode((@TempData["ErrorMessage"])));
....
}
</script>
我需要建立一个模型
我敢打赌,这对外面的人来说一定很容易。但是我被卡住了:(你可以在你的html页面(MVC视图页面)上这样做,添加:
angular.module('runApp').factory('dataBoot', function(){
running = @Html.Raw(Json.Encode(Model));
errorMessage = @Html.Raw(Json.Encode((@TempData["ErrorMessage"])));
retrun {
running: running,
errorMessage: errorMessage
}
});
之后,您可以将dataBoot注入控制器,并以这种方式访问running和errorMessage:
runApp.controller('DistanceController', function($scope, $http, dataBoot) {
$scope.running = dataBoot.running;
$scope.errorMessage =dataBoot.errorMessage;
....
}
您还可以使用ng init指令,并且您使用的属性将在该特定元素的作用域中可用
<div ng-controller="DistanceController" ng-init="running = @Html.Raw(Json.Encode(Model))">
...
</div>
...
对于初学者的问题很抱歉,但是..app.factory是一个var吗?它会像这个var app.factory('dataBoot',function(){running=@Html.Raw(…);errorMessage=@Html.Raw(…);return{running:nunning,errorMessage:errorMessage}}啊那个应用程序..好的,稍等一下..让我来测试一下
<div ng-controller="DistanceController" ng-init="running = @Html.Raw(Json.Encode(Model))">
...
</div>