html:
<div ng-app="appMod">
<div task-info>{ { data.name } }</div>
</div>
脚本:
var appmod = angular.module('appMod', []);
appmod.directive("taskInfo", function () {
return {
restrict: 'A',
scope: {},
link: function ($scope, $element, attr) {
$scope.taskdat = '{"name":"Task name","status":"Completed"}';
$scope.data = JSON.parse($scope.taskdat);
scope = $scope; //scope data
},
};
});
是否可以在Angular Js中绑定指令范围而不具有控制器范围?如果是,请给我一些解决方案的例子。
答案 0 :(得分:1)
您不需要控制器范围来编写指令,请参阅 fiddle 。
这里没有控制器范围,值hero
在指令中绑定为:
myApp.directive('myDirective', function() {
return {
restrict: 'EAC',
link: function($scope, element, attrs, controller) {
var controllerOptions, options;
$scope.hero='superhero'
}
};
});
正常工作:)
<小时/> 您提供的示例也类似,但您只需要从返回的JSON对象(来自指令)中删除
scope
,因为它在链接fucntion中被定义为$scope
。
答案 1 :(得分:0)
控制器选项?
.directive('mydirective', function() {
return {
restrict: 'A', // always required
//controller: 'SomeController'
template:'<b>{{status}}</b>',
controller:'YourCtrl'
}
})