gpt4 book ai didi

javascript - Angular JS 1.5 Component html 内容在浏览器中显示为注释掉

转载 作者:行者123 更新时间:2023-11-30 21:06:43 25 4
gpt4 key购买 nike

我是 Angular 世界的新手,在尝试一些东西时,我基本上陷入了一个基本的 Angular 组件问题。

因此,我们的想法是简单地向页面添加一个名为“cast-tile”的自定义元素,该元素将作为组件由 Angular 加载。但是浏览器以某种方式在 ng-repeat 中显示了注释中的代码。

我的代码如下

index.html

<!DOCTYPE html>
<html ng-app="myApp">

<head>
<script data-require="angular.js@1.6.1" data-semver="1.6.1" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>

<body ng-controller="myCtrl">
<h1>My Favourite X-Men's</h1>

<sample-component data="Jack"></sample-component> <!-- this works -->

<cast-tile cast="mutants"></cast-tile> <!-- does not work -->

</body>

</html>

脚本.js

var myApp = angular.module('myApp', []);
myApp.controller('myCtrl', function($scope) {
$scope.mutants = [{
name: 'Wolverine',
actor: 'Hujh Jackman',
image: 'https://i.pinimg.com/originals/0e/a3/3b/0ea33b4fc6e96eb684d6eb9f9f66482d.jpg'
},
{
name: 'Cyclops',
actor: 'James Marsden',
image: 'https://vignette.wikia.nocookie.net/xmenmovies/images/d/d3/Cyclops_04.jpg/revision/latest/scale-to-width-down/350?cb=20140330215941'
},
{
name: 'Storm',
actor: 'Hally Barry',
image: 'https://vignette.wikia.nocookie.net/xmenmovies/images/a/a7/Storm_xmen3.JPG/revision/latest?cb=20120128061314'
}];
});

myApp.component("castTile", {
templateUrl: "myTemplate.html",
bindings: {
cast: '='
},
restrict: 'E',
controller: function(){

}
});

myApp.component("sampleComponent", {
template: '<h3>Hello {{ $ctrl.data }}</h3>',
bindings: {
data: '@'
},
restrict: 'AE'
});

最后是 myTemplate.html

<div class="tiles" ng-repeat="mutant in mutants">
<h3>{{ mutant.name }}</h3>
<p>{{ mutant.actor }}</p>
<img width="100" height="150" ng-src="{{ mutant.image }}" />
</div>

浏览器控制台没有显示任何错误。

Please find the code on Plunker

非常感谢任何帮助!

最佳答案

好吧,包含mutants 列表的绑定(bind)在您的组件castTile 中称为cast。此外,您需要在 cast 前加上 $ctrl.,正如您在 sampleComponent 中正确执行的那样:

<div class="tiles" ng-repeat="mutant in $ctrl.cast">

应该可以工作 ;-)

关于javascript - Angular JS 1.5 Component html 内容在浏览器中显示为注释掉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46531550/

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