【发布时间】:2015-05-03 18:28:55
【问题描述】:
我想将一个值从控制器传递给指令,但视图中的指令可以被覆盖。
示例控制器
var controllers = angular.module('Project.Controllers.ActionBarCtrl', []);
controllers.controller('ActionBarCtrl', ['$scope','$rootScope',
function($scope, $rootScope){
$scope.buttonColor = 'red'
}]);
那么在我看来有两种可能的加载方式
<div my-button button-color='green'></div>
或
<div my-button></div>
在指令中我要传递按钮颜色(第一个 div 中为绿色,第二个 div 中默认为红色),这是我的指令
sharedDirectives.directive('myButton', function () {
return {
restrict: 'A',
transclude: true,
scope: {
'buttonColor': '@'
},
template: '<div>' +
'<button class="uifw-frm-button small {{buttonColor}}" ng-click="showHideInner()">
+ </div>
我可以让它与第一个 div 一起工作,并使用绿色值填充 buttonColor 属性,但是当我将它排除在外并想要返回红色时,我得到的值是未定义的。
【问题讨论】:
标签: angularjs angularjs-directive