1
我想将它发送给我的指令,但如果控制器中的数据发生更改,我希望数据保持更新。将数据从控制器发送到指令
// Controller
angular
.module('app')
.controller('IndexController', IndexController)
IndexController.$inject = [];
function IndexController() {
var vm = this;
vm.name = 'John';
newName = function() {
vm.name = 'Brian';
}
newName();
}
// Directive
angular
.module('app')
.directive('userName', userName);
userName.$inject = ['$document'];
function userName($document) {
var directive = {
restrict: 'EA',
template: '<div id="user"></div>',
replace: true,
scope: {
name: '='
},
link: function(scope, elem, attrs) {
console.log(scope.data);
}
}
return directive;
}
这是我如何使用该指令。问题是它总是返回控制器中更改后的名字而不是新名称。
<div ng-controller="indexController">
<user-name name="indexController.name">
</div>
谢谢。
谢谢。这工作完美。我想我还是很困惑$ scope,vm和这个 – handsome
行..只有在给定的情况下才有效。但如果我有一个它不起作用。还有什么遗漏?谢谢! – handsome
你不需要改变任何东西。我只是更新上面的答案,与ng-click一起工作。 – nivas