所以我定义了这个角度指令:
angular.module('photoSynthesysApp')
.directive('tagList', function(){
return {
template: '<div class="tag-form"> <label> LABELS </label>'+
'<button class="btn-xsmall" ng-click="clicked = !clicked">+</button>' +
'<div ng-show="clicked">'+
'<input type="text" ng-model="newTag"> '+
'<button ng-click="vm.addTag()"> Add </button>' +
'</div>'+
'<ul>'+
'<div ng-repeat="tag in vm.tagListFromDatabase">' +
'<li>{{tag}}</li>' + '</div>'+
'</ul>'+
'</div>',
controller: taggerController,
controllerAs: "vm",
restrict: "E"
}
});
function taggerController() {
this.tagListFromDatabase = ["Bridges","Arches","Roads","Towers"];
this.clicked="false";
this.addTag = function(){
this.tagListFromDatabase.push(this.newTag);
console.log(this.newTag);
};
}
Console.log给我未定义,不打印任何内容。我不明白为什么不应该这样做。
另外,我正在使用这样的模板,因为我无法弄清楚如何进行templateUrl,但我可以稍后想出来。
答案 0 :(得分:2)
您正在尝试访问绑定到控制器(Outlook.MailItem mailItem = item as Outlook.MailItem;
Outlook.Inspector inspector = mailItem.GetInspector;
Word.Document document = (Microsoft.Office.Interop.Word.Document)inspector.WordEditor;
Word.Application app = document.Application;
app.WindowSelectionChange += new Microsoft.Office.Interop.Word.ApplicationEvents4_WindowSelectionChangeEventHandler(YOUR_METHOD_HERE);
)的newTag
属性,但是在模板中,您将vm
绑定到范围对象,而不是控制器。
正确的代码是:
ngModel
注意,<input type="text" ng-model="vm.newTag">
将模型绑定到控制器,而vm.newTag
单独绑定到范围。