Angularjs 如何在Asp.NETMVC视图中插入/访问$scope服务对象
我是AngularJS新手,但对Asp.net MVC有一些工作知识。现在我遇到了一个问题,需要在MVC视图中访问javascript块中AngularJS的$scope对象 我的代码: --------Angularjs 如何在Asp.NETMVC视图中插入/访问$scope服务对象,angularjs,razor,angularjs-scope,Angularjs,Razor,Angularjs Scope,我是AngularJS新手,但对Asp.net MVC有一些工作知识。现在我遇到了一个问题,需要在MVC视图中访问javascript块中AngularJS的$scope对象 我的代码: -------- <script> var mode = "@ViewBag.Mode"; if (mode == "Edit") { var riskJSON = @Html.Raw(JsonConvert.DeserializeObject(ViewBag.
<script>
var mode = "@ViewBag.Mode";
if (mode == "Edit") {
var riskJSON = @Html.Raw(JsonConvert.DeserializeObject(ViewBag.RISKS));
$scope.riskrefno = riskJSON.RiskRefNo;
$scope.enquirydate = riskJSON.EnquiryDate;
$scope.insuredname = riskJSON.InsuredName;
$scope.insuredaddress = riskJSON.InsuredAddress;
}
<script>
var mode=“@ViewBag.mode”;
如果(模式==“编辑”){
var riskJSON=@Html.Raw(JsonConvert.DeserializeObject(ViewBag.RISKS));
$scope.riskrefno=riskJSON.riskrefno;
$scope.inquiryDate=riskJSON.inquiryDate;
$scope.insuredname=riskJSON.insuredname;
$scope.insureddress=riskJSON.insureddress;
}
使用上述代码,我得到以下错误:“0x800a1391-
JavaScript运行时错误:“$scope”未定义”
您能否建议一个解决方案,说明如何将$scope服务对象注入MVC razor视图
谢谢。从您的代码中不太清楚,这个范围与哪个html元素关联。记住作用域有一个约束存在。唯一全局可用的作用域是
$rootScope
要从angular外部的全局上下文访问$rootScope,您需要使用angular.element
函数获取应用程序根,然后调用scope函数。比如:
var$scope=angular.element('body').scope();//这将返回根范围
这个例子假设你在body标签上添加了
ng app
。我不是一个喜欢剃须刀的人,所以请恕我直言。但是,$scope
实际上只能在注入角度函数的内部进行访问。在这种情况下,它看起来应该位于控制器中。