我在控制器的函数中有一个String作为返回值。像这样:
function concatDaysOfWeek() {
var DaysString = "";
if (vm.sunday) DaysString = DaysString + '1';
if (vm.monday) DaysString = DaysString + '2';
if (vm.tuesday) DaysString = DaysString + '3';
if (vm.wednesday) DaysString = DaysString + '4';
if (vm.thursday) DaysString = DaysString + '5';
if (vm.friday) DaysString = DaysString + '6';
if (vm.saturday) DaysString = DaysString + '7';
return DaysString;
}
现在我有一个需要使用属性填充的对象。
vm.schedule = {};
在我的HTML中,我创建了一堆绑定到此对象的ng-model。 但我不知道如何将我得到的字符串作为返回值绑定到对象中的属性。
我想要这样的事情:
RecurrenceDaysOfWeek: DaysString
但它不起作用。不在对象{}内,也不在控制器的其他位置。
请帮忙。感谢
答案 0 :(得分:0)
为什么不在你的方法中设置它?
function concatDaysOfWeek() {
var DaysString = "";
if (vm.sunday) DaysString = DaysString + '1';
if (vm.monday) DaysString = DaysString + '2';
if (vm.tuesday) DaysString = DaysString + '3';
if (vm.wednesday) DaysString = DaysString + '4';
if (vm.thursday) DaysString = DaysString + '5';
if (vm.friday) DaysString = DaysString + '6';
if (vm.saturday) DaysString = DaysString + '7';
vm.schedule.myVariable = DaysString;
}
答案 1 :(得分:0)
使用ng-init
调用该函数并将值赋给ng-model
<input ng-model="vm.schedule.RecurrenceDaysOfWeek" ng-init="vm.schedule.RecurrenceDaysOfWeek = vm.concatDaysOfWeek()"/>
angular.module("app",[])
.controller("ctrl",function($scope){
var vm = this;
vm.concatDaysOfWeek = concatDaysOfWeek;
vm.schedule = {}
vm.sunday = "1";
function concatDaysOfWeek() {
var DaysString = "";
if (vm.sunday) DaysString = DaysString + '1';
if (vm.monday) DaysString = DaysString + '2';
if (vm.tuesday) DaysString = DaysString + '3';
if (vm.wednesday) DaysString = DaysString + '4';
if (vm.thursday) DaysString = DaysString + '5';
if (vm.friday) DaysString = DaysString + '6';
if (vm.saturday) DaysString = DaysString + '7';
return DaysString;
}
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl as vm">
<input ng-model="vm.schedule.RecurrenceDaysOfWeek" ng-init="vm.schedule.RecurrenceDaysOfWeek = vm.concatDaysOfWeek()"/>
</div>