我一直在网上搜索,但似乎无法找到一个好的答案......
这是将控制器/操作 URL 传递给 Angular 的正确方法吗?
<div ng-controller="MainCtrl"
ng-init="getScheduleUrl = '@(Url.Action("GetSchedule"))'">
或者有更好的方法吗?如果我要传递很多 URL,这可能会很快变得非常混乱。
我一直在网上搜索,但似乎无法找到一个好的答案......
这是将控制器/操作 URL 传递给 Angular 的正确方法吗?
<div ng-controller="MainCtrl"
ng-init="getScheduleUrl = '@(Url.Action("GetSchedule"))'">
或者有更好的方法吗?如果我要传递很多 URL,这可能会很快变得非常混乱。
嗨,有很多方法,但我喜欢这个:
通常在我的主页/索引视图上
<script>
angular.module('app').factory('dataStrap', function ()
{
var _data = @Html.Raw(ViewBag.Json);
var _getScheduleUrl = @(Url.Action("GetSchedule");
//or
var _someUrls =[
{urla: @(Url.Action("GetSchedule")}
{urlb: @(Url.Action("GetSchedule")}
];
return {
data : _data,
getScheduleUrl : _getScheduleUrl,
someUrls :_someUrls
}
angular.module('app').controller('myController', function($scope, dataStrap){
$scope.ScheduleUrl = dataStrap.getScheduleUrl;
})
</script>
之后,您可以将 dataStrap 注入任何控制器,然后......瞧!