我是角度新手,试图用角度创建和MVC项目。我创建了一个关于.js文件,这是其中的代码:
(function () {
var app = angular.module('myApp', []);
app.controller('TecknologiesController', function () {
this.text = tech;
});
var tech = {
name: 'Progamming',
csharp: 'C#',
asp: 'ASP .NET',
xaml:'XAML',
java: 'java',
sql: 'SQL',
plsql: 'PL/SQL',
xml: 'XML',
webs: 'Web Services'
}
})();
我已经将脚本标签添加到 _layout.cshtml 文件的正文中,如下所示:
<body>
<script type="text/javascript" src="angular.min.js"></script>
<script type="text/javascript" src="About.js"></script>
在我的 About.cshtml 文件中,我有这段代码来显示我的关于中的一个技术项目.js这是我的代码:
<div ng-app="myApp" ng-controller="TecknologiesController as tech">
<div>{{tech.text.name}}</div>
</div>
但这对我不起作用。 它将 {{tech.text.name}} 打印为文本。我添加的脚本标签是错误的还是什么?它在小提琴中工作正常:http://jsfiddle.net/pYh89/1/
ng-controller="TecknologiesController as tech"使"tech"指出了这一点。
我想你想要的是:
(function () {
var app = angular.module('myApp', []);
app.controller('TecknologiesController', function () {
this.tech = tech;
});
var tech = {
name: 'Progamming',
csharp: 'C#',
asp: 'ASP .NET',
xaml:'XAML',
java: 'java',
sql: 'SQL',
plsql: 'PL/SQL',
xml: 'XML',
webs: 'Web Services'
}
})();
和你的 HTML:
<div>{{tech.tech.name}}</div>
如果var技术=...在使用它之前声明并分配。
你也可以这样做:
(function () {
var app = angular.module('myApp', []);
app.controller('TecknologiesController', function () {
var tech = this;
tech.name = 'Programming;
tech.csharp = 'C#';
// etc ...
});
})();
这将允许您更直接地访问名称
<div>{{tech.name}}</div>
但是由于我不知道你真正想做什么,这是我目前能回答的最好的答案。
你的主要问题是,我认为你不明白这就是技术所指向的。