我是一个新角色试图用角度创建和MVC项目。 我创建了一个about.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文件中,我有这段代码来展示我的about.js中的一个技术项目 这是我的代码:
<div ng-app="myApp" ng-controller="TecknologiesController as tech">
<div>{{tech.text.name}}</div>
</div>
但这不适合我。它打印出 {{tech.text.name}} 作为文本。 我添加脚本标签错误或什么? 它在小提琴中正常工作:http://jsfiddle.net/pYh89/1/
答案 0 :(得分:1)
ng-controller =“TecknologiesController as tech”让'tech'指向这一点。
我认为你想要的是:
<div>{{tech.tech.name}}</div>
你的HTML:
(function () {
var app = angular.module('myApp', []);
app.controller('TecknologiesController', function () {
var tech = this;
tech.name = 'Programming;
tech.csharp = 'C#';
// etc ...
});
})();
如果在使用之前声明并分配了var tech = ...真的会更好。
你也可以这样:
<div>{{tech.name}}</div>
这将允许您更直接地访问名称
.popover-content {
white-space: pre-wrap;
}
但是既然我不知道你真正想做什么,那就是我现在能回答的最好的。
你的主要问题,我认为你不明白这是技术所指的。