自定義指令使用服務方法爲模型創建新的修改模型。修改指令中的模型
問題是新模型根本沒有註冊。
boo
是模型
欣賞你的幫助自定義屬性。
使用指令控制器小提琴
模板:
<section ng-app="myApp" ng-controller="myController">
<div my-directive boo="model">
<div ng-model="newmodel">
<span>Model: </span> <b>{{model}}</b> <br/>
<span>New Model: </span> <b>{{newmodel || 'undefined'}}</b>
</div>
</div>
</section>
指令
App.directive('boo',['myService', function (myService) {
return {
restrict: 'A',
scope: {
boo: '='
},
link: function (scope, element, attrs) {
scope.newmodel = myService.modifyModel(scope.boo);
}
};
}]).service('myService', function(){
this.modifyModel = function(model){
var newModel = [];
for(var key in model) {
newModel.push(model[key]);
}
return newModel;
}
});
控制器
var ctrls = angular.module('controllers', []);
ctrls.controller('myController', ['$scope', function ($scope) {
$scope.model = {
a: ['a', 'a1'],
b: ['b', 'b1']
};
}]);
隨着指令的隔離範圍,我不認爲甚至噓聲可以在HTML訪問。 – nikhil