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