gpt4 book ai didi

javascript - WebStorm Angular 指令范围和 HTML

转载 作者:太空宇宙 更新时间:2023-11-04 13:09:44 24 4
gpt4 key购买 nike

因为我是新来的,所以我会 self 介绍。我叫 Tomas,来自荷兰,我刚刚开始密集编码。 Atm 我正在做一个项目,使用 AngularJS 给我写一份交互式简历。我想这样做,所以我在申请工作时可以展示一些东西。因此,有些事情我可能比他们做得更努力,只是为了展示我目前能做些什么。

好了,回到问题。我在 HTML 正文代码中使用 AngularJS 指令时遇到了问题。

.JS 文件是:

/**
* Created by Tomas on 24-1-2016.
*/
var myApp = angular.module("PersonApp",[])

.controller("TomasInformation", ["$scope", function($scope, $routeParams) {
$scope.tomas = {
firstName: "Thomas",
lastName: "Slepers",
middleNames: "Dirk",
dateOfBirth: new Date("1985","03","18"),
placeOfBirth: "Rosmalen",
city: "Maastricht",
address: ["Banniersborg", "176", "B", "6238 VS"],
telephone: "+31 6386492",
email: "t.example@example.com",
nationality: "Dutch"
};
}])

.directive('personInfo', function() {
return {
restrict: "E",
scope: {
info: "="
},
templateUrl: 'JS/personInfo.html'
};
});

我调用的模板 .html 文件是:

<ul>
<li>{{info.firstName}} {{info.lastName}} </li>
<li>{{info.firstName}} {{info.middleNames}}</li>
<li>{{info.dateOfBirth | date}}</li>
<li>{{info.placeOfBirth}}</li>
<li>{{info.city}}</li>
<li>{{info.address[0]}} {{info.address[1]}}{{info.address[2]}}, {{info.address[3]}}</li>
<li>{{info.telephone}}</li>
<li>{{info.email}}</li>
<li>{{info.nationality}}</li>
</ul>

我在 Index.html 主页中使用的 html 代码是:

<div class="right_information" ng-app="PersonApp" ng-controller="TomasInformation">
<person-info info="tomas"></person-info>
</div>

现在的问题是调用 <person-info> element 不给我我的名字等,只给我网站上的原始代码,例如{{info.firstName}}。

我已经检查了一些事情,比如是否加载了 Angular 库(是这种情况)。

有人能看出我做错了什么吗?我在这里不知所措。附言我已经更改了 Controller 中的个人数据,因此打电话/发送电子邮件将没有任何用处:)

编辑:我在我的浏览器 (Chrome) 中完成了 F12 操作并看到了以下错误输出,但似乎无法理解它的含义。我在 https 中添加了星标,因为我不被允许发布超过 2 个链接 :).angular.js:11655 错误:[$compile:multidir] http://errors.angularjs.org/1.3.15/ $compile/multidir?p0=personInfo&p1=personInfo&p2=template&p3=%3Cperson-info%20info%3D%22tomas%22%3E 出错时( native ) 在 https*://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:6:417 在 Na (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:67:19) 在 fa (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:62:4) 在 https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:65:406 在 https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:112:113 在 n.$eval (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:126:15) 在 n.$digest (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:123:106) 在 n.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:126:293) 在 l (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:81:240)(匿名函数)@angular.js:11655

还有 <head> Index.html 的首页是:

<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="JS/app.js"></script>
<link type="text/css" rel="stylesheet" href="stylesheet.css"/>
<title></title>
</head>

所以我很确定 angular.min.js 已加载。因为当我删除 <person-info>标签并直接插入模板代码,效果很好:/

最佳答案

这就是您在应用程序中的所有代码吗?就像 Alainlb 在 plunkr 中展示的那样,这段代码有效。

但是您看到的错误是由指令冲突引起的。

来自 Angular 文档:

Example scenarios of multiple incompatible directives applied to the same element include:

  1. Multiple directives requesting isolated scope.
  2. Multiple directives publishing a controller under the same name.
  3. Multiple directives declared with the transclusion option.
  4. Multiple directives attempting to define a template or templateURL.

检查您的应用是否存在这些情况。

关于javascript - WebStorm Angular 指令范围和 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34981790/

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