【发布时间】:2016-02-19 03:45:32
【问题描述】:
我正在尝试让 Angular 1.5 的新组件方法工作。到目前为止,我实现了以下目标,请参阅我的 jsFiddle JSFIDDLE。由于某种原因,我无法使 templateUrl 正常工作,因此我可以看到具有定义范围的 html 模板。任何帮助都会很棒。
JSFIDDLE JS
var app = angular.module('myApp', []);
app.controller('mainCtrl', function($scope) {
$scope.name = "Tony Danza";
});
app.component("myBox", {
bindings: {},
controller: function($element) {
var myBox = this;
myBox.game = 'World Of warcraft';
},
controllerAs: 'myBox',
templateUrl: "/template",
transclude: true
})
HTML
<div ng-app="myApp" ng-controller="mainCtrl">
<script type="text/ng-template" id="/template">
<div style='width:40%;border:2px solid black;background-color:yellow'>
Your Favourite game is: {{myBox.game}}
</div>
</script>
Hi {{name}}
<div my-box>
</div my-box>
</div><!--end app-->
【问题讨论】:
-
组件必须是元素。使用
<my-box>而不是<div my-box> -
来自文档:“此类组件始终是隔离的(即
scope: {})并且始终仅限于元素(即restrict: 'E')。AngularJS $compileProvider API Reference -- component -
谢谢这么简单,现在一切正常!
标签: angularjs