正如@drew_w 所说,$compile
如果需要从链接申请,则必须使用编译元素,
否则你可以直接template
使用
template: '<div ng-bind="data"></div>'
我最喜欢模板
也不要使用像
$('#click').click(function() {
$scope.data = 'change';
});
相反,您可以使用
$scope.change = function()
{
$scope.data = 'change';
}
或者
ng-click="data = 'change'"
正如@drew_w 所说
看看完整的代码
工作演示
html
<div ng-controller="MyCtrl">Hello, {{name}}!
<button id='click' ng-click="change()">click to 'change'</button>
<my-div>watch, this doesn't change!!!???</my-div>
</div>
脚本
var myApp = angular.module('myApp', []);
myApp.directive('myDiv', function ($compile) {
return {
restrict: 'E',
template:'<div ng-bind="data"></div>'
};
});
myApp.controller('MyCtrl', function ($scope) {
$scope.data = "me";
$scope.name = 'Superhero';
$scope.change = function () {
$scope.data = 'change';
}
});