gpt4 book ai didi

javascript - Angular JS 中的错误

转载 作者:行者123 更新时间:2023-11-29 19:30:40 25 4
gpt4 key购买 nike

我在我的 asp.net mvc 项目中包含了 angular js,但是当我在 Controller 中调用对象时

angular js 表达式不求值

这里是app.js代码请推荐

var app = angular.module('app', []);
app.controller('createController', createController);

这是创建 Controller 的代码

var createController = function ($scope) {
$scope.mydata = 'I work!';
}

这是我在 html 中包含的内容

<html ng-app="app">
<script src="~/Scripts/angular.min.js"></script>
<script src="~/appAjs/app.js"></script>
<script src="~/appAjs/controllers/createController.js"></script>
<div ng-controller="createController">
{{scope.mydata}}
{{6+9}}

最佳答案

从你的代码中,我只能怀疑两件事

  • 你的 javascript 没有合适的作用域
  • 不要在“作用域”代码中使用作用域这个词

第一部分:javascript作用域:

始终使用 IIFE ,在您的情况下,您的代码应如下所示:

(function(){

var app = angular.module('app', []);

var createController = function ($scope) {
$scope.mydata = 'I work!';
};


app.controller('createController', createController);

}());

第二部分:不要使用scope这个词

在你的 HTML 中,你不应该使用 scope 这个词,因为它已经在你的 Controller 中继承了,因为那是你传递给“ View ”的模型

因此,您的代码应如下所示:

<!DOCTYPE html>
<html ng-app="app">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<div ng-controller="createController">
{{mydata}}
{{6+9}}
</div>
</body>
</html>

结果是:

I work! 15

实时代码在JSBIN so you can check it out .

您的 HTML 页面应该如下所示:


如果你只有一个文件

<!DOCTYPE html>
<html ng-app="app">
<head>
<meta charset="utf-8">
<title>My AngularJs App</title>
</head>
<body>

<!-- HTML -->
<div ng-controller="createController">
{{mydata}}
{{6+9}}
</div>

<!-- AngularJS required -->
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script>

<!-- AngularJS code -->
<script>

(function(){

var app = angular.module('app', []);

var createController = function ($scope) {
$scope.mydata = 'I work!';
};

app.controller('createController', createController);

}());

</script>
</body>
</html>

如果您使用2 个文件

文件 index.html

<!DOCTYPE html>
<html ng-app="app">
<head>
<meta charset="utf-8">
<title>My AngularJs App</title>
</head>
<body>

<!-- HTML -->
<div ng-controller="createController">
{{mydata}}
{{6+9}}
</div>

<!-- AngularJS required -->
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script>

<!-- AngularJS extra files -->
<script src="createController.js"></script>

</body>
</html>

文件 createController.js(与 index.html 在同一文件夹中)

      (function(){

var app = angular.module('app', []);

var createController = function ($scope) {
$scope.mydata = 'I work!';
};

app.controller('createController', createController);

}());

关于javascript - Angular JS 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27784547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com