Angularjs 在同一页上使用多个指令
我试图在一个页面中多次使用同一指令,我知道我需要创建独立的作用域,但我没有做到这一点。 有人能给我一些提示吗 这是我的html:Angularjs 在同一页上使用多个指令,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我试图在一个页面中多次使用同一指令,我知道我需要创建独立的作用域,但我没有做到这一点。 有人能给我一些提示吗 这是我的html: <!DOCTYPE html> <html lang="en" ng-app="ui.instagram"> <head> <base href="/"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible"
<!DOCTYPE html>
<html lang="en" ng-app="ui.instagram">
<head>
<base href="/">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Libs -->
<script src="js/custom/jquery-2.1.1.js"></script>
<!-- version 1.2.19 -->
<script src="js/custom/angular.min.js"></script>
<!--Custom Directives-->
<script src="js/custom/ui-instagram.js"></script>
</head>
<body>
<div ui-instagram user-id='xxxxx' client-id="xxxxxx"></div>
<img ng-repeat="gram in grams" ng-attr-src="{{ gram.images.standard_resolution.url }}"></img>
<div ui-instagram user-id='xxxxx' client-id="xxxxxx"></div>
<img ng-repeat="gram in grams" ng-attr-src="{{ gram.images.standard_resolution.url }}"></img>
</body>
</html>
我会将指令的责任提高一个级别,并使其负责渲染图像,而不是让您的控制器视图执行该操作: 将指令更改为:
.directive('uiInstagram', function (Instagram) {
return {
restrict: 'EA',
scope: {
userId: '=',
clientId: '='
},
templateUrl:'instagramTpl.html'
link: function (scope,element, attrs) {
scope.grams = [];
Instagram.get(scope.userId, scope.clientId, function (grams) {
scope.grams = grams;
});
}
};
});
以及instagramTpl.html
:
<img ng-repeat="gram in grams" ng-src="{{ gram.images.standard_resolution.url }}"></img>
视图中的用法:
<div ng-repeat="user in users">
<div ui-instagram user-id='user.id' client-id="user.clientId//or whatever"></div>
</div>
我会将指令的责任提高一个级别,并让它负责渲染图像,而不是让您的控制器视图执行以下操作: 将指令更改为:
.directive('uiInstagram', function (Instagram) {
return {
restrict: 'EA',
scope: {
userId: '=',
clientId: '='
},
templateUrl:'instagramTpl.html'
link: function (scope,element, attrs) {
scope.grams = [];
Instagram.get(scope.userId, scope.clientId, function (grams) {
scope.grams = grams;
});
}
};
});
以及instagramTpl.html
:
<img ng-repeat="gram in grams" ng-src="{{ gram.images.standard_resolution.url }}"></img>
视图中的用法:
<div ng-repeat="user in users">
<div ui-instagram user-id='user.id' client-id="user.clientId//or whatever"></div>
</div>
我会将指令的责任提高一个级别,并让它负责渲染图像,而不是让您的控制器视图执行以下操作: 将指令更改为:
.directive('uiInstagram', function (Instagram) {
return {
restrict: 'EA',
scope: {
userId: '=',
clientId: '='
},
templateUrl:'instagramTpl.html'
link: function (scope,element, attrs) {
scope.grams = [];
Instagram.get(scope.userId, scope.clientId, function (grams) {
scope.grams = grams;
});
}
};
});
以及instagramTpl.html
:
<img ng-repeat="gram in grams" ng-src="{{ gram.images.standard_resolution.url }}"></img>
视图中的用法:
<div ng-repeat="user in users">
<div ui-instagram user-id='user.id' client-id="user.clientId//or whatever"></div>
</div>
我会将指令的责任提高一个级别,并让它负责渲染图像,而不是让您的控制器视图执行以下操作: 将指令更改为:
.directive('uiInstagram', function (Instagram) {
return {
restrict: 'EA',
scope: {
userId: '=',
clientId: '='
},
templateUrl:'instagramTpl.html'
link: function (scope,element, attrs) {
scope.grams = [];
Instagram.get(scope.userId, scope.clientId, function (grams) {
scope.grams = grams;
});
}
};
});
以及instagramTpl.html
:
<img ng-repeat="gram in grams" ng-src="{{ gram.images.standard_resolution.url }}"></img>
视图中的用法:
<div ng-repeat="user in users">
<div ui-instagram user-id='user.id' client-id="user.clientId//or whatever"></div>
</div>
在视图中,部分想法是这样写不同的ID,为什么会得到一个空白页?有错误吗?请尝试发布一个plunk。对不起,没有plunk或Fiddle就说不出什么了。您应该为客户端id和用户id传递什么?你能给出一些值吗?如果能回答你的问题,你能接受我的回答,我将不胜感激:)考虑到部分想法是这样写不同的ID,为什么你会得到一个空白页?有错误吗?请尝试发布一个plunk。对不起,没有plunk或Fiddle就说不出什么了。您应该为客户端id和用户id传递什么?你能给出一些值吗?如果能回答你的问题,你能接受我的回答,我将不胜感激:)考虑到部分想法是这样写不同的ID,为什么你会得到一个空白页?有错误吗?请尝试发布一个plunk。对不起,没有plunk或Fiddle就说不出什么了。您应该为客户端id和用户id传递什么?你能给出一些值吗?如果能回答你的问题,你能接受我的回答,我将不胜感激:)考虑到部分想法是这样写不同的ID,为什么你会得到一个空白页?有错误吗?请尝试发布一个plunk。对不起,没有plunk或Fiddle就说不出什么了。您应该为客户端id和用户id传递什么?如果我的回答能回答你的问题,如果你能接受我的回答,我将不胜感激:)