Angularjs 指令和范围@
我正在学习angularjs指令中的scope选项,但我不明白为什么@不起作用。你可以检查代码。问题在于,第二个h4标签应该在应用程序中显示I'm a指令。。但它显示的是Hello world。任何帮助都很好,谢谢Angularjs 指令和范围@,angularjs,scope,angularjs-directive,angularjs-scope,Angularjs,Scope,Angularjs Directive,Angularjs Scope,我正在学习angularjs指令中的scope选项,但我不明白为什么@不起作用。你可以检查代码。问题在于,第二个h4标签应该在应用程序中显示I'm a指令。。但它显示的是Hello world。任何帮助都很好,谢谢 <div ng-controller="MainCtrl"> <div ng-init="title = 'Hello World'"> <h2 id="appTitle">{{title}}</h2> <bu
<div ng-controller="MainCtrl">
<div ng-init="title = 'Hello World'">
<h2 id="appTitle">{{title}}</h2>
<button id="newAppTitle" ng-click="setAppTitle('App 2.0')">Upgrade me!</button>
<div my-scoped-directive msd-title="I'm a directive, within the app {{title}}">
<h4 id="directiveTitle">{{title}}</h4>
<button id="newDirTitle" ng-click="setDirectiveTitle('bob')">Bob it!</button>
</div>
</div>
我在这里从模板中删除了属性“ng transclude”,如果它为您指明了正确的方向。@gerl Bad fiddle,不是吗?
var app = angular.module('mainModule', []);
app.controller('MainCtrl', function ($scope) {
$scope.setAppTitle = function (title) {
$scope.title = title;
};
});
app.directive('myScopedDirective', function () {
return {
scope: {
'title': '@msdTitle'
},
link: function ($scope, $element, $attrs) {
$scope.setDirectiveTitle = function (title) {
$scope.title = title;
};
}
};
});